[SCM] geos branch, master, updated. upstream/3.3.2-61-g75719df

Francesco Paolo Lovergine frankie at debian.org
Wed May 23 15:40:49 UTC 2012


The following commit has been merged in the master branch:
commit 76c80cc426a8ba9ec726941ca2b8a801526c4ab2
Author: Francesco Paolo Lovergine <frankie at debian.org>
Date:   Wed May 23 15:30:16 2012 +0200

    Imported Upstream version 3.3.3

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 272aa81..d7eb596 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
 #################################################################################
-# $Id: CMakeLists.txt 3375 2011-05-22 23:34:04Z mloskot $
+# $Id: CMakeLists.txt 3564 2012-01-08 13:46:07Z strk $
 #
 # Main GEOS build configuration file for CMake build system
 #
@@ -30,17 +30,17 @@ set(CMAKE_MODULE_PATH "${geos_SOURCE_DIR}/cmake/modules")
 # GEOS C++ library SONAME will use these encoding ABI break at every release
 set(VERSION_MAJOR 3)
 set(VERSION_MINOR 3)
-set(VERSION_PATCH 0)
+set(VERSION_PATCH 2dev)
 set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
 
 # JTS_PORT is the version of JTS this release is bound to
-set(JTS_PORT 1.10.0)
+set(JTS_PORT 1.12.0)
 message(STATUS "Setting GEOS version ${VERSION} as port of JTS ${JTS_PORT}")
 
 # GEOS C API version
-set(CAPI_INTERFACE_CURRENT 7)
-set(CAPI_INTERFACE_REVISION 1)
-set(CAPI_INTERFACE_AGE 6)
+set(CAPI_INTERFACE_CURRENT 8)
+set(CAPI_INTERFACE_REVISION 2)
+set(CAPI_INTERFACE_AGE 7)
 
 math(EXPR CAPI_VERSION_MAJOR "${CAPI_INTERFACE_CURRENT} - ${CAPI_INTERFACE_AGE}")
 set(CAPI_VERSION_MINOR ${CAPI_INTERFACE_AGE})
@@ -94,7 +94,7 @@ endif()
 if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
 
   # General options
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -ansi")
+  set(CMAKE_CXX_FLAGS "-pedantic -ansi ${CMAKE_CXX_FLAGS}")
 
   # Numerical stability
   if(GEOS_ENABLE_FLOATSTORE)
@@ -156,11 +156,6 @@ endif()
 # Setup C/C++ library features
 #################################################################################
 
-include(TestForSTDNamespace)
-if (CMAKE_NO_STD_NAMESPACE)
-  message(FATAL_ERROR "Detected compiler does not support std namespace on STL classes")
-endif()
-
 # check header files
 include(CheckIncludeFiles)
 
diff --git a/ChangeLog b/ChangeLog
index b843c41..37b940f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,228 @@
+2012-03-22 08:34  Sandro Santilli <strk at keybit.net>
+
+	* [r3574] NEWS, src/simplify/TaggedLineString.cpp,
+	  src/simplify/TaggedLineStringSimplifier.cpp,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp: Fix
+	  simplification of collections with empty items (#519)
+
+2012-02-16 18:19  Paul Ramsey <pramsey at cleverelephant.ca>
+
+	* [r3572] src/algorithm/RobustDeterminant.cpp: Update provenance
+	  for Olivier Devillers.
+
+2012-01-08 13:46  Sandro Santilli <strk at keybit.net>
+
+	* [r3564] CMakeLists.txt, NEWS,
+	  tests/unit/capi/GEOSisValidDetailTest.cpp: Backports
+	  
+	  Missing <cctype> header for toupper. Fixed Visual C++ warning.
+	  Fixed (hopefully) CMake issues with std:: namespace detection
+	  (Ticket #493)
+
+2012-01-06 21:50  Sandro Santilli <strk at keybit.net>
+
+	* [r3560] NEWS, configure.in: Prepare for 3.3.3
+
+2012-01-06 21:34  Howard Butler <hobu.inc at gmail.com>
+
+	* [r3559] src/operation/buffer/BufferOp.cpp: Fix MSVC compilation
+	  of ambiguous log() call #506
+
+2012-01-05 17:00  Sandro Santilli <strk at keybit.net>
+
+	* [r3557] ChangeLog: Update ChangeLog for the 3.3.2 release
+
+2012-01-05 16:56  Sandro Santilli <strk at keybit.net>
+
+	* [r3556] NEWS, configure.in: Prepare for 3.3.2 release
+
+2011-12-16 14:12  Sandro Santilli <strk at keybit.net>
+
+	* [r3554] src/operation/overlay/snap/LineStringSnapper.cpp: Make
+	  debugging output of LineStringSnapper more readable
+
+2011-12-15 14:18  Sandro Santilli <strk at keybit.net>
+
+	* [r3552] NEWS, include/geos/geom/BinaryOp.h,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug488.xml: Check validity after
+	  snapping in BinaryOp. Fixes bug #488
+	  
+	  Adds regression test. This is a GEOS-only approach.
+
+2011-12-15 11:35  Sandro Santilli <strk at keybit.net>
+
+	* [r3551] include/geos/operation/overlay/OverlayOp.h: indent
+
+2011-12-15 10:58  Sandro Santilli <strk at keybit.net>
+
+	* [r3549] include/geos/geom/BinaryOp.h: Fix build with
+	  CBR_BEFORE_SNAPPING undefined
+
+2011-12-12 15:11  Howard Butler <hobu.inc at gmail.com>
+
+	* [r3547] NEWS: a note about #500 fix
+
+2011-12-12 15:04  Howard Butler <hobu.inc at gmail.com>
+
+	* [r3545] src/operation/overlay/OverlayNodeFactory.cpp: apply patch
+	  for #500 to fix clang's complaint about a missing default
+	  initialization
+
+2011-12-12 10:09  Sandro Santilli <strk at keybit.net>
+
+	* [r3543] NEWS, src/algorithm/CGAlgorithms.cpp: Apply Shoelace
+	  formula for area calculation (#485)
+
+2011-12-12 09:57  Sandro Santilli <strk at keybit.net>
+
+	* [r3541] NEWS, macros/geos.m4, tools/geos-config.in: Add --clibs
+	  to geos-config and GEOS_C_LIBS to geos.m4 (#497)
+
+2011-12-09 10:46  Sandro Santilli <strk at keybit.net>
+
+	* [r3539] NEWS: typo
+
+2011-12-09 10:44  Sandro Santilli <strk at keybit.net>
+
+	* [r3538] NEWS, include/geos/geom/Geometry.h,
+	  include/geos/operation/overlay/snap/GeometrySnapper.h,
+	  include/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  src/operation/overlay/snap/GeometrySnapper.cpp,
+	  src/operation/overlay/snap/SnapOverlayOp.cpp: Fix C++11 build by
+	  avoiding std::pair<auto_ptr> (#491)
+
+2011-12-09 10:12  Sandro Santilli <strk at keybit.net>
+
+	* [r3537] NEWS, src/operation/buffer/BufferOp.cpp,
+	  tests/unit/operation/buffer/BufferOpTest.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/safe/TestBufferJagged.xml,
+	  tests/xmltester/tests/safe/buffer-1.01.xml: Improve buffer
+	  robustness by reverting to non snaprounding noder
+	  
+	  This commit fixes all cases reported in
+	  http://trac.osgeo.org/geos/wiki/BufferRobustness
+	  They include #495 and #494
+
+2011-12-09 08:47  Sandro Santilli <strk at keybit.net>
+
+	* [r3533] tests/xmltester/tests/general/TestUnaryUnionFloating.xml:
+	  Oops, forgot this one in previous commit
+
+2011-12-09 08:46  Sandro Santilli <strk at keybit.net>
+
+	* [r3532] NEWS,
+	  include/geos/operation/union/CascadedPolygonUnion.h,
+	  src/operation/union/CascadedPolygonUnion.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/general/TestUnaryUnion.xml: Fix
+	  CascadedPolygonUnion to discard non-polygonal components created
+	  during unioning
+	  
+	  This is to avoid failures and provide more desirable behaviour.
+	  Includes automated testing. Closes ticket #499.
+
+2011-12-09 08:46  Sandro Santilli <strk at keybit.net>
+
+	* [r3531] tests/xmltester/XMLTester.cpp: Allow XML tests not to
+	  specify a precision model, defaulting to floating
+	  
+	  This allows running some JTS tests w/out touching them
+
+2011-12-06 17:26  Sandro Santilli <strk at keybit.net>
+
+	* [r3527] NEWS, include/geos/noding/snapround/HotPixel.h,
+	  src/noding/snapround/HotPixel.cpp, tests/unit/Makefile.am,
+	  tests/unit/noding/snapround,
+	  tests/unit/noding/snapround/HotPixelTest.cpp: HotPixel: do not
+	  invalidate reference to original point. Fixes #498.
+
+2011-12-02 09:44  Sandro Santilli <strk at keybit.net>
+
+	* [r3526] tests/xmltester/tests/safe/buffer-1.01.xml: Add
+	  <resultMatcher> tag to make the test runnable with JTS
+
+2011-11-30 09:49  Sandro Santilli <strk at keybit.net>
+
+	* [r3524] NEWS, include/geos/noding/snapround/MCIndexSnapRounder.h,
+	  src/noding/snapround/MCIndexSnapRounder.cpp,
+	  tests/unit/operation/buffer/BufferOpTest.cpp: Fix
+	  MCIndexSnapRounder use of provided precision model.
+	  
+	  Fixes bug #473 (RightmostEdgeFinder assertion failure).
+	  Includes regression test.
+
+2011-11-29 14:01  Sandro Santilli <strk at keybit.net>
+
+	* [r3521] NEWS, src/geom/Coordinate.cpp: Use 18 significant digits
+	  for TopologyException point coordinates
+
+2011-11-28 08:40  Sandro Santilli <strk at keybit.net>
+
+	* [r3519] NEWS, src/operation/buffer/BufferBuilder.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/safe/buffer-1.01.xml: BufferBuilder: fix
+	  handling of collapsed edges skipping. Fixes #494.
+	  
+	  Includes regression test, provided by SAFE.
+
+2011-11-04 20:52  Sandro Santilli <strk at keybit.net>
+
+	* [r3516] tests/unit/capi/GEOSisValidDetailTest.cpp: Allow any case
+	  in NaN for testcase purposes (#486)
+
+2011-11-04 17:45  Sandro Santilli <strk at keybit.net>
+
+	* [r3513] NEWS, src/operation/union/UnaryUnionOp.cpp,
+	  tests/unit/operation/union/UnaryUnionOpTest.cpp,
+	  tests/xmltester/tests/general/TestUnaryUnion.xml: Fix noding of
+	  self-intersecting lines through UnaryUnion (#482)
+	  
+	  Includes updated tests from JTS
+
+2011-11-04 15:00  Sandro Santilli <strk at keybit.net>
+
+	* [r3512] src/index/sweepline/SweepLineIndex.cpp: Fix
+	  initialization order
+
+2011-10-26 16:08  Sandro Santilli <strk at keybit.net>
+
+	* [r3507] tests/unit/Makefile.am,
+	  tests/unit/operation/buffer/BufferParametersTest.cpp: Add test
+	  for BufferParameters class
+
+2011-10-26 14:29  Sandro Santilli <strk at keybit.net>
+
+	* [r3506] NEWS: Add changes introduced by last commit
+
+2011-10-19 00:47  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r3503] CMakeLists.txt: ported from trunk: Fixed CMAKE_CXX_FLAGS
+	  overridind -std=gnu++0x (#489)
+
+2011-10-18 22:08  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r3500] CMakeLists.txt: Missing versions update in CMake
+	  configuration (#490)
+
+2011-10-04 16:18  Sandro Santilli <strk at keybit.net>
+
+	* [r3496] NEWS: Add missing CAPI additions of 3.3.0 to NEWS file
+
+2011-09-27 16:02  Sandro Santilli <strk at keybit.net>
+
+	* [r3490] NEWS: Prepare slot for 3.3.2 news
+
+2011-09-27 15:41  Sandro Santilli <strk at keybit.net>
+
+	* [r3489] configure.in: Bump versions up for next (3.3.2) release
+
+2011-09-27 15:34  Sandro Santilli <strk at keybit.net>
+
+	* [r3487] ChangeLog, NEWS, configure.in: Set version to 3.3.1
+	  final, update ChangeLog and set release date in NEWS
+
 2011-09-27 12:41  Sandro Santilli <strk at keybit.net>
 
 	* [r3486] NEWS: Merge items
diff --git a/Makefile.in b/Makefile.in
index 8ebe5c6..198132c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -110,6 +110,8 @@ am__relativize = \
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
 distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -312,7 +314,7 @@ ACLOCAL_AMFLAGS = -I macros
 all: all-recursive
 
 .SUFFIXES:
-am--refresh:
+am--refresh: Makefile
 	@:
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
@@ -563,7 +565,7 @@ dist-gzip: distdir
 	$(am__remove_distdir)
 
 dist-bzip2: distdir
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
 	$(am__remove_distdir)
 
 dist-lzma: distdir
@@ -571,7 +573,7 @@ dist-lzma: distdir
 	$(am__remove_distdir)
 
 dist-xz: distdir
-	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
 	$(am__remove_distdir)
 
 dist-tarZ: distdir
@@ -621,6 +623,7 @@ distcheck: dist
 	  && am__cwd=`pwd` \
 	  && $(am__cd) $(distdir)/_build \
 	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
@@ -649,8 +652,16 @@ distcheck: dist
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 distuninstallcheck:
-	@$(am__cd) '$(distuninstallcheck_dir)' \
-	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	@test -n '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: trying to run $@ with an empty' \
+	       '$$(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	$(am__cd) '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
 	   || { echo "ERROR: files left after uninstall:" ; \
 	        if test -n "$(DESTDIR)"; then \
 	          echo "  (check DESTDIR support)"; \
@@ -681,10 +692,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/NEWS b/NEWS
index a2ae977..1e6380c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,30 @@
+Changes in 3.3.3
+2012-04-01
+
+- Bug fixes / improvements
+    - Fix simplification of collections with empty items (#519)
+    - Fix MSVC compilation of ambiguous log() call (#506)
+    - Fix CMake issues with std:: namespace detection (#493)
+
+Changes in 3.3.2
+2012-01-05
+
+- Bug fixes / improvements
+    - Fix CMAKE_CXX_FLAGS overriding -std=gnu++0x (#489)
+    - Missing versions update in CMake configuration (#490)
+    - Fix noding of self-intersecting lines through UnaryUnion (#482)
+    - Fix handling of collapsed edges skipping in BufferOp (#494)
+    - Print up to 18 digits of precision for TopologyException points
+    - Fix noding with reduced precision in Buffer operation (#473)
+    - Fix HotPixel original point invalidation (#498)
+    - Fix CascadedPolygonUnion to discard non-polygonal components (#499)
+    - Improve buffer robustness by reverting to non-snaprounding noder (#495)
+    - Fix C++11 build by avoiding std::pair<auto_ptr> (#491)
+    - Add --clibs to geos-config and GEOS_C_LIBS to geos.m4 (#497)
+    - Apply shoelace formula for area calculation (#485)
+    - Fix default initialization issue for clang (#500)
+    - Improve overlay robustness by fixing areal validity on snapping (#488)
+
 Changes in 3.3.1
 2011-09-27
 
@@ -35,6 +62,8 @@ Changes in 3.3.0
   - CAPI: GEOSRelatePatternMatch 
   - CAPI: GEOSCovers, GEOSCoveredBy (#396) 
   - CAPI: GEOSRelateBoundaryNodeRule (#399) 
+  - CAPI: GEOSGeom_getCoordinateDimension() (#311)
+  - CAPI: GEOSWKTWriter_setOutputDimension, GEOSWKTWriter_setOld3D (#292)
   -  PHP: new PHP5 bindings based on CAPI
 - Semantic C++ API changes:
   - Geometry inheritance chain changed to introduce Puntal, Lineal
diff --git a/aclocal.m4 b/aclocal.m4
index 3bf5ce9..869ba91 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,8 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.2 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -19,12 +20,15 @@ You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
@@ -34,7 +38,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
+m4_if([$1], [1.11.2], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -50,19 +54,21 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.2])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -144,14 +150,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
+# serial 12
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -191,6 +197,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -255,7 +262,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -320,10 +327,13 @@ AC_DEFUN([AM_DEP_TRACK],
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
 AC_SUBST([AMDEPBACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
 ])
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
@@ -557,12 +567,15 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
@@ -602,8 +615,8 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
+# 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -623,7 +636,7 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t at _MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
 [  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
@@ -734,12 +747,15 @@ else
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_MKDIR_P
 # ---------------
 # Check for `mkdir -p'.
@@ -762,13 +778,14 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -776,13 +793,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
 
 # _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
 [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
 
 # _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -858,12 +875,14 @@ Check your system clock])
 fi
 AC_MSG_RESULT(yes)])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_STRIP
 # ---------------------
 # One issue with vendor `install' (even GNU) is that you can't
@@ -886,13 +905,13 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
@@ -901,7 +920,7 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff --git a/capi/Makefile.in b/capi/Makefile.in
index 6eb2b73..5fb98be 100644
--- a/capi/Makefile.in
+++ b/capi/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -77,6 +77,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(capidir)"
 LTLIBRARIES = $(lib_LTLIBRARIES)
 libgeos_c_la_DEPENDENCIES = $(top_builddir)/src/libgeos.la
@@ -437,9 +443,7 @@ uninstall-nodist_capiHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(nodist_capi_HEADERS)'; test -n "$(capidir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(capidir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(capidir)" && rm -f $$files
+	dir='$(DESTDIR)$(capidir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -540,10 +544,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/capi/geos_c.h b/capi/geos_c.h
index 7ae9877..d4b34fa 100644
--- a/capi/geos_c.h
+++ b/capi/geos_c.h
@@ -1,6 +1,6 @@
 /************************************************************************
  *
- * $Id: geos_c.h.in 3322 2011-05-03 02:27:00Z sgillies $
+ * $Id: geos_c.h.in 3582 2012-04-01 20:42:27Z pramsey $
  *
  * C-Wrapper for GEOS library
  *
@@ -55,9 +55,9 @@ extern "C" {
 #if defined(_MSC_VER)
 #include <geos/version.h>
 #define GEOS_CAPI_VERSION_MAJOR 1
-#define GEOS_CAPI_VERSION_MINOR 6
+#define GEOS_CAPI_VERSION_MINOR 7
 #define GEOS_CAPI_VERSION_PATCH 1
-#define GEOS_CAPI_VERSION "3.3.0-CAPI-1.7.0"
+#define GEOS_CAPI_VERSION "3.3.3-CAPI-1.7.1"
 #else
 #ifndef GEOS_VERSION_MAJOR
 #define GEOS_VERSION_MAJOR 3
@@ -66,10 +66,10 @@ extern "C" {
 #define GEOS_VERSION_MINOR 3
 #endif
 #ifndef GEOS_VERSION_PATCH
-#define GEOS_VERSION_PATCH 1
+#define GEOS_VERSION_PATCH 3
 #endif
 #ifndef GEOS_VERSION
-#define GEOS_VERSION "3.3.1"
+#define GEOS_VERSION "3.3.3"
 #endif
 #ifndef GEOS_JTS_PORT
 #define GEOS_JTS_PORT "1.12.0"
@@ -77,8 +77,8 @@ extern "C" {
 
 #define GEOS_CAPI_VERSION_MAJOR 1
 #define GEOS_CAPI_VERSION_MINOR 7
-#define GEOS_CAPI_VERSION_PATCH 1
-#define GEOS_CAPI_VERSION "3.3.1-CAPI-1.7.1"
+#define GEOS_CAPI_VERSION_PATCH 4
+#define GEOS_CAPI_VERSION "3.3.3-CAPI-1.7.4"
 #endif
 
 #define GEOS_CAPI_FIRST_INTERFACE GEOS_CAPI_VERSION_MAJOR 
diff --git a/capi/geos_c.h.in b/capi/geos_c.h.in
index be1793f..bd5807b 100644
--- a/capi/geos_c.h.in
+++ b/capi/geos_c.h.in
@@ -1,6 +1,6 @@
 /************************************************************************
  *
- * $Id: geos_c.h.in 3322 2011-05-03 02:27:00Z sgillies $
+ * $Id: geos_c.h.in 3582 2012-04-01 20:42:27Z pramsey $
  *
  * C-Wrapper for GEOS library
  *
@@ -55,9 +55,9 @@ extern "C" {
 #if defined(_MSC_VER)
 #include <geos/version.h>
 #define GEOS_CAPI_VERSION_MAJOR 1
-#define GEOS_CAPI_VERSION_MINOR 6
+#define GEOS_CAPI_VERSION_MINOR 7
 #define GEOS_CAPI_VERSION_PATCH 1
-#define GEOS_CAPI_VERSION "3.3.0-CAPI-1.7.0"
+#define GEOS_CAPI_VERSION "3.3.3-CAPI-1.7.1"
 #else
 #ifndef GEOS_VERSION_MAJOR
 #define GEOS_VERSION_MAJOR @VERSION_MAJOR@
diff --git a/config.guess b/config.guess
index dc84c68..8152efd 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-#   Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011 Free Software Foundation, Inc.
 
-timestamp='2009-11-20'
+timestamp='2011-11-11'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -56,8 +56,9 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -180,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		fi
 		;;
 	    *)
-	        os=netbsd
+		os=netbsd
 		;;
 	esac
 	# The OS release
@@ -223,7 +224,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
 		;;
 	*5.*)
-	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
 		;;
 	esac
 	# According to Compaq, /usr/sbin/psrinfo has been available on
@@ -269,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
 	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit ;;
+	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+	exitcode=$?
+	trap '' 0
+	exit $exitcode ;;
     Alpha\ *:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# Should we change UNAME_MACHINE based on the output of uname instead
@@ -295,7 +299,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	echo s390-ibm-zvmoe
 	exit ;;
     *:OS400:*:*)
-        echo powerpc-ibm-os400
+	echo powerpc-ibm-os400
 	exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
 	echo arm-acorn-riscix${UNAME_RELEASE}
@@ -394,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint${UNAME_RELEASE}
 	exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
 	echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
+	exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint${UNAME_RELEASE}
 	exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-milan-mint${UNAME_RELEASE}
+	exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-hades-mint${UNAME_RELEASE}
+	exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-unknown-mint${UNAME_RELEASE}
+	exit ;;
     m68k:machten:*:*)
 	echo m68k-apple-machten${UNAME_RELEASE}
 	exit ;;
@@ -480,8 +484,8 @@ EOF
 	echo m88k-motorola-sysv3
 	exit ;;
     AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	# DG/UX returns AViiON for all architectures
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
 	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
 	then
 	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -494,7 +498,7 @@ EOF
 	else
 	    echo i586-dg-dgux${UNAME_RELEASE}
 	fi
- 	exit ;;
+	exit ;;
     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
 	echo m88k-dolphin-sysv3
 	exit ;;
@@ -551,7 +555,7 @@ EOF
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[456])
+    *:AIX:*:[4567])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -594,52 +598,52 @@ EOF
 	    9000/[678][0-9][0-9])
 		if [ -x /usr/bin/getconf ]; then
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
+		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+		    case "${sc_cpu_version}" in
+		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      532)                      # CPU_PA_RISC2_0
+			case "${sc_kernel_bits}" in
+			  32) HP_ARCH="hppa2.0n" ;;
+			  64) HP_ARCH="hppa2.0w" ;;
 			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
+			esac ;;
+		    esac
 		fi
 		if [ "${HP_ARCH}" = "" ]; then
 		    eval $set_cc_for_build
-		    sed 's/^              //' << EOF >$dummy.c
+		    sed 's/^		//' << EOF >$dummy.c
 
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
+		#define _HPUX_SOURCE
+		#include <stdlib.h>
+		#include <unistd.h>
 
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
+		int main ()
+		{
+		#if defined(_SC_KERNEL_BITS)
+		    long bits = sysconf(_SC_KERNEL_BITS);
+		#endif
+		    long cpu  = sysconf (_SC_CPU_VERSION);
 
-                  switch (cpu)
-              	{
-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-              	case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-              	    switch (bits)
-              		{
-              		case 64: puts ("hppa2.0w"); break;
-              		case 32: puts ("hppa2.0n"); break;
-              		default: puts ("hppa2.0"); break;
-              		} break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-              	    puts ("hppa2.0"); break;
-              #endif
-              	default: puts ("hppa1.0"); break;
-              	}
-                  exit (0);
-              }
+		    switch (cpu)
+			{
+			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+			case CPU_PA_RISC2_0:
+		#if defined(_SC_KERNEL_BITS)
+			    switch (bits)
+				{
+				case 64: puts ("hppa2.0w"); break;
+				case 32: puts ("hppa2.0n"); break;
+				default: puts ("hppa2.0"); break;
+				} break;
+		#else  /* !defined(_SC_KERNEL_BITS) */
+			    puts ("hppa2.0"); break;
+		#endif
+			default: puts ("hppa1.0"); break;
+			}
+		    exit (0);
+		}
 EOF
 		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -730,22 +734,22 @@ EOF
 	exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 	echo c1-convex-bsd
-        exit ;;
+	exit ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-        exit ;;
+	exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
 	echo c34-convex-bsd
-        exit ;;
+	exit ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
 	echo c38-convex-bsd
-        exit ;;
+	exit ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 	echo c4-convex-bsd
-        exit ;;
+	exit ;;
     CRAY*Y-MP:*:*:*)
 	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
@@ -769,14 +773,14 @@ EOF
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
     5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -788,13 +792,12 @@ EOF
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
 	exit ;;
     *:FreeBSD:*:*)
-	case ${UNAME_MACHINE} in
-	    pc98)
-		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	case ${UNAME_PROCESSOR} in
 	    amd64)
 		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	    *)
-		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	esac
 	exit ;;
     i*:CYGWIN*:*)
@@ -803,15 +806,18 @@ EOF
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
+    i*:MSYS*:*)
+	echo ${UNAME_MACHINE}-pc-msys
+	exit ;;
     i*:windows32*:*)
-    	# uname -m includes "-pc" on this system.
-    	echo ${UNAME_MACHINE}-mingw32
+	# uname -m includes "-pc" on this system.
+	echo ${UNAME_MACHINE}-mingw32
 	exit ;;
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
     *:Interix*:*)
-    	case ${UNAME_MACHINE} in
+	case ${UNAME_MACHINE} in
 	    x86)
 		echo i586-pc-interix${UNAME_RELEASE}
 		exit ;;
@@ -866,7 +872,7 @@ EOF
 	  EV6)   UNAME_MACHINE=alphaev6 ;;
 	  EV67)  UNAME_MACHINE=alphaev67 ;;
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
+	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
@@ -878,7 +884,13 @@ EOF
 	then
 	    echo ${UNAME_MACHINE}-unknown-linux-gnu
 	else
-	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+		| grep -q __ARM_PCS_VFP
+	    then
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	    else
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
@@ -891,7 +903,10 @@ EOF
 	echo crisv32-axis-linux-gnu
 	exit ;;
     frv:Linux:*:*)
-    	echo frv-unknown-linux-gnu
+	echo frv-unknown-linux-gnu
+	exit ;;
+    hexagon:Linux:*:*)
+	echo hexagon-unknown-linux-gnu
 	exit ;;
     i*86:Linux:*:*)
 	LIBC=gnu
@@ -959,7 +974,7 @@ EOF
 	echo ${UNAME_MACHINE}-ibm-linux
 	exit ;;
     sh64*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     sh*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -967,6 +982,9 @@ EOF
     sparc:Linux:*:* | sparc64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
+    tile*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
     vax:Linux:*:*)
 	echo ${UNAME_MACHINE}-dec-linux-gnu
 	exit ;;
@@ -974,7 +992,7 @@ EOF
 	echo x86_64-unknown-linux-gnu
 	exit ;;
     xtensa*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -983,11 +1001,11 @@ EOF
 	echo i386-sequent-sysv4
 	exit ;;
     i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
+	# Unixware is an offshoot of SVR4, but it has its own version
+	# number series starting with 2...
+	# I am not positive that other SVR4 systems won't match this,
 	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
+	# Use sysv4.2uw... so that sysv4* matches it.
 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
 	exit ;;
     i*86:OS/2:*:*)
@@ -1019,7 +1037,7 @@ EOF
 	fi
 	exit ;;
     i*86:*:5:[678]*)
-    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	# UnixWare 7.x, OpenUNIX and OpenServer 6.
 	case `/bin/uname -X | grep "^Machine"` in
 	    *486*)	     UNAME_MACHINE=i486 ;;
 	    *Pentium)	     UNAME_MACHINE=i586 ;;
@@ -1047,13 +1065,13 @@ EOF
 	exit ;;
     pc:*:*:*)
 	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i586.
+	# uname -m prints for DJGPP always 'pc', but it prints nothing about
+	# the processor, so we play safe by assuming i586.
 	# Note: whatever this is, it MUST be the same as what config.sub
 	# prints for the "djgpp" host, or else GDB configury will decide that
 	# this is a cross-build.
 	echo i586-pc-msdosdjgpp
-        exit ;;
+	exit ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
 	exit ;;
@@ -1088,8 +1106,8 @@ EOF
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
 	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && { echo i486-ncr-sysv4; exit; } ;;
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4; exit; } ;;
     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
 	OS_REL='.3'
 	test -r /etc/.relid \
@@ -1132,10 +1150,10 @@ EOF
 		echo ns32k-sni-sysv
 	fi
 	exit ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel at ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit ;;
+    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+			# says <Richard.M.Bartel at ccMail.Census.GOV>
+	echo i586-unisys-sysv4
+	exit ;;
     *:UNIX_System_V:4*:FTX*)
 	# From Gerald Hewes <hewes at openmarket.com>.
 	# How about differentiating between stratus architectures? -djm
@@ -1161,11 +1179,11 @@ EOF
 	exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
 	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
+		echo mips-nec-sysv${UNAME_RELEASE}
 	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
+		echo mips-unknown-sysv${UNAME_RELEASE}
 	fi
-        exit ;;
+	exit ;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
 	echo powerpc-be-beos
 	exit ;;
@@ -1230,6 +1248,9 @@ EOF
     *:QNX:*:4*)
 	echo i386-pc-qnx
 	exit ;;
+    NEO-?:NONSTOP_KERNEL:*:*)
+	echo neo-tandem-nsk${UNAME_RELEASE}
+	exit ;;
     NSE-?:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
@@ -1275,13 +1296,13 @@ EOF
 	echo pdp10-unknown-its
 	exit ;;
     SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
+	echo mips-sei-seiux${UNAME_RELEASE}
 	exit ;;
     *:DragonFly:*:*)
 	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit ;;
     *:*VMS:*:*)
-    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	UNAME_MACHINE=`(uname -p) 2>/dev/null`
 	case "${UNAME_MACHINE}" in
 	    A*) echo alpha-dec-vms ; exit ;;
 	    I*) echo ia64-dec-vms ; exit ;;
@@ -1321,11 +1342,11 @@ main ()
 #include <sys/param.h>
   printf ("m68k-sony-newsos%s\n",
 #ifdef NEWSOS4
-          "4"
+	"4"
 #else
-	  ""
+	""
 #endif
-         ); exit (0);
+	); exit (0);
 #endif
 #endif
 
diff --git a/config.sub b/config.sub
index 2a55a50..e76eaf4 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-#   Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011 Free Software Foundation, Inc.
 
-timestamp='2009-11-20'
+timestamp='2011-11-11'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -75,8 +75,9 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,8 +124,9 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
@@ -156,8 +158,8 @@ case $os in
 		os=
 		basic_machine=$1
 		;;
-        -bluegene*)
-	        os=-cnk
+	-bluegene*)
+		os=-cnk
 		;;
 	-sim | -cisco | -oki | -wec | -winbond)
 		os=
@@ -173,10 +175,10 @@ case $os in
 		os=-chorusos
 		basic_machine=$1
 		;;
- 	-chorusrdb)
- 		os=-chorusrdb
+	-chorusrdb)
+		os=-chorusrdb
 		basic_machine=$1
- 		;;
+		;;
 	-hiux*)
 		os=-hiuxwe2
 		;;
@@ -249,13 +251,17 @@ case $basic_machine in
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
 	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+        | be32 | be64 \
 	| bfin \
 	| c4x | clipper \
 	| d10v | d30v | dlx | dsp16xx \
+	| epiphany \
 	| fido | fr30 | frv \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| hexagon \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
+	| le32 | le64 \
 	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
 	| maxq | mb | microblaze | mcore | mep | metag \
@@ -281,27 +287,38 @@ case $basic_machine in
 	| moxie \
 	| mt \
 	| msp430 \
+	| nds32 | nds32le | nds32be \
 	| nios | nios2 \
 	| ns16k | ns32k \
+	| open8 \
 	| or32 \
 	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
-	| rx \
+	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-	| spu | strongarm \
-	| tahoe | thumb | tic4x | tic80 | tron \
+	| spu \
+	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
-	| v850 | v850e \
+	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
 	| we32k \
-	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
 		basic_machine=$basic_machine-unknown
 		;;
+	c54x)
+		basic_machine=tic54x-unknown
+		;;
+	c55x)
+		basic_machine=tic55x-unknown
+		;;
+	c6x)
+		basic_machine=tic6x-unknown
+		;;
 	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
 		# Motorola 68HC11/12.
 		basic_machine=$basic_machine-unknown
@@ -313,6 +330,18 @@ case $basic_machine in
 		basic_machine=mt-unknown
 		;;
 
+	strongarm | thumb | xscale)
+		basic_machine=arm-unknown
+		;;
+
+	xscaleeb)
+		basic_machine=armeb-unknown
+		;;
+
+	xscaleel)
+		basic_machine=armel-unknown
+		;;
+
 	# We use `pc' rather than `unknown'
 	# because (1) that's what they normally are, and
 	# (2) the word "unknown" tends to confuse beginning users.
@@ -332,16 +361,19 @@ case $basic_machine in
 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
+	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* \
 	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| hexagon-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
+	| le32-* | le64-* \
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@@ -367,25 +399,29 @@ case $basic_machine in
 	| mmix-* \
 	| mt-* \
 	| msp430-* \
+	| nds32-* | nds32le-* | nds32be-* \
 	| nios-* | nios2-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
+	| open8-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
 	| pyramid-* \
-	| romp-* | rs6000-* | rx-* \
+	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
-	| tahoe-* | thumb-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| tahoe-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tile*-* \
 	| tron-* \
 	| ubicom32-* \
-	| v850-* | v850e-* | vax-* \
+	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+	| vax-* \
 	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
 	| ymp-* \
 	| z8k-* | z80-*)
@@ -410,7 +446,7 @@ case $basic_machine in
 		basic_machine=a29k-amd
 		os=-udi
 		;;
-    	abacus)
+	abacus)
 		basic_machine=abacus-unknown
 		;;
 	adobe68k)
@@ -480,11 +516,20 @@ case $basic_machine in
 		basic_machine=powerpc-ibm
 		os=-cnk
 		;;
+	c54x-*)
+		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c55x-*)
+		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c6x-*)
+		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	c90)
 		basic_machine=c90-cray
 		os=-unicos
 		;;
-        cegcc)
+	cegcc)
 		basic_machine=arm-unknown
 		os=-cegcc
 		;;
@@ -516,7 +561,7 @@ case $basic_machine in
 		basic_machine=craynv-cray
 		os=-unicosmp
 		;;
-	cr16)
+	cr16 | cr16-*)
 		basic_machine=cr16-unknown
 		os=-elf
 		;;
@@ -732,7 +777,7 @@ case $basic_machine in
 		basic_machine=ns32k-utek
 		os=-sysv
 		;;
-        microblaze)
+	microblaze)
 		basic_machine=microblaze-xilinx
 		;;
 	mingw32)
@@ -771,10 +816,18 @@ case $basic_machine in
 	ms1-*)
 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
 		;;
+	msys)
+		basic_machine=i386-pc
+		os=-msys
+		;;
 	mvs)
 		basic_machine=i370-ibm
 		os=-mvs
 		;;
+	nacl)
+		basic_machine=le32-unknown
+		os=-nacl
+		;;
 	ncr3000)
 		basic_machine=i486-ncr
 		os=-sysv4
@@ -839,6 +892,12 @@ case $basic_machine in
 	np1)
 		basic_machine=np1-gould
 		;;
+	neo-tandem)
+		basic_machine=neo-tandem
+		;;
+	nse-tandem)
+		basic_machine=nse-tandem
+		;;
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
@@ -921,9 +980,10 @@ case $basic_machine in
 		;;
 	power)	basic_machine=power-ibm
 		;;
-	ppc)	basic_machine=powerpc-unknown
+	ppc | ppcbe)	basic_machine=powerpc-unknown
 		;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+	ppc-* | ppcbe-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	ppcle | powerpclittle | ppc-le | powerpc-little)
 		basic_machine=powerpcle-unknown
@@ -1017,6 +1077,9 @@ case $basic_machine in
 		basic_machine=i860-stratus
 		os=-sysv4
 		;;
+	strongarm-* | thumb-*)
+		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	sun2)
 		basic_machine=m68000-sun
 		;;
@@ -1073,20 +1136,8 @@ case $basic_machine in
 		basic_machine=t90-cray
 		os=-unicos
 		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tic55x | c55x*)
-		basic_machine=tic55x-unknown
-		os=-coff
-		;;
-	tic6x | c6x*)
-		basic_machine=tic6x-unknown
-		os=-coff
-		;;
 	tile*)
-		basic_machine=tile-unknown
+		basic_machine=$basic_machine-unknown
 		os=-linux-gnu
 		;;
 	tx39)
@@ -1156,6 +1207,9 @@ case $basic_machine in
 	xps | xps100)
 		basic_machine=xps100-honeywell
 		;;
+	xscale-* | xscalee[bl]-*)
+		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+		;;
 	ymp)
 		basic_machine=ymp-cray
 		os=-unicos
@@ -1253,11 +1307,11 @@ esac
 if [ x"$os" != x"" ]
 then
 case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
+	# First match some system type aliases
+	# that might get confused with valid system types.
 	# -solaris* is a basic system type, with this one exception.
-        -auroraux)
-	        os=-auroraux
+	-auroraux)
+		os=-auroraux
 		;;
 	-solaris1 | -solaris1.*)
 		os=`echo $os | sed -e 's|solaris1|sunos4|'`
@@ -1293,8 +1347,9 @@ case $os in
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* | -cegcc* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-android* \
+	      | -linux-newlib* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1341,7 +1396,7 @@ case $os in
 	-opened*)
 		os=-openedition
 		;;
-        -os400*)
+	-os400*)
 		os=-os400
 		;;
 	-wince*)
@@ -1390,7 +1445,7 @@ case $os in
 	-sinix*)
 		os=-sysv4
 		;;
-        -tpf*)
+	-tpf*)
 		os=-tpf
 		;;
 	-triton*)
@@ -1435,6 +1490,8 @@ case $os in
 	-dicos*)
 		os=-dicos
 		;;
+	-nacl*)
+		;;
 	-none)
 		;;
 	*)
@@ -1457,10 +1514,10 @@ else
 # system, and we'll never get to this point.
 
 case $basic_machine in
-        score-*)
+	score-*)
 		os=-elf
 		;;
-        spu-*)
+	spu-*)
 		os=-elf
 		;;
 	*-acorn)
@@ -1472,8 +1529,17 @@ case $basic_machine in
 	arm*-semi)
 		os=-aout
 		;;
-        c4x-* | tic4x-*)
-        	os=-coff
+	c4x-* | tic4x-*)
+		os=-coff
+		;;
+	tic54x-*)
+		os=-coff
+		;;
+	tic55x-*)
+		os=-coff
+		;;
+	tic6x-*)
+		os=-coff
 		;;
 	# This must come before the *-dec entry.
 	pdp10-*)
@@ -1500,7 +1566,7 @@ case $basic_machine in
 	m68*-cisco)
 		os=-aout
 		;;
-        mep-*)
+	mep-*)
 		os=-elf
 		;;
 	mips*-cisco)
@@ -1527,7 +1593,7 @@ case $basic_machine in
 	*-ibm)
 		os=-aix
 		;;
-    	*-knuth)
+	*-knuth)
 		os=-mmixware
 		;;
 	*-wec)
diff --git a/configure b/configure
index 058e194..1e92916 100755
--- a/configure
+++ b/configure
@@ -704,6 +704,7 @@ AS
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
+am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
@@ -1463,7 +1464,7 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
+  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-sysroot=DIR Search for dependent libraries within DIR
@@ -2582,12 +2583,12 @@ test -n "$target_alias" &&
 JTS_PORT=1.12.0
 
 CAPI_INTERFACE_CURRENT=8
-CAPI_INTERFACE_REVISION=1
+CAPI_INTERFACE_REVISION=4
 CAPI_INTERFACE_AGE=7
 
 VERSION_MAJOR=3
 VERSION_MINOR=3
-VERSION_PATCH=1
+VERSION_PATCH=3
 VERSION="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH"
 
 CAPI_VERSION_MAJOR=`expr $CAPI_INTERFACE_CURRENT - $CAPI_INTERFACE_AGE`
@@ -3932,6 +3933,7 @@ fi
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
  if test "x$enable_dependency_tracking" != xno; then
   AMDEP_TRUE=
@@ -3956,6 +3958,7 @@ else
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -4015,7 +4018,7 @@ else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -4386,8 +4389,8 @@ esac
 
 
 
-macro_version='2.4'
-macro_revision='1.3293'
+macro_version='2.4.2'
+macro_revision='1.3337'
 
 
 
@@ -5161,6 +5164,11 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -5200,7 +5208,7 @@ else
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
 	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
@@ -5626,7 +5634,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -6264,13 +6272,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
 
 case $host_os in
@@ -6417,6 +6425,7 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6805,7 +6814,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-sparc*-*solaris*)
+*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
@@ -6816,7 +6825,20 @@ sparc*-*solaris*)
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
       *)
 	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
 	  LD="${LD-ld} -64"
@@ -7456,7 +7478,13 @@ else
 	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
 	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&5
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
 	  lt_cv_apple_cc_single_mod=yes
 	else
 	  cat conftest.err >&5
@@ -7467,6 +7495,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
 if ${lt_cv_ld_exported_symbols_list+:} false; then :
@@ -7499,6 +7528,7 @@ rm -f core conftest.err conftest.$ac_objext \
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
 if ${lt_cv_ld_force_load+:} false; then :
@@ -7520,7 +7550,9 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&5
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
 	lt_cv_ld_force_load=yes
       else
 	cat conftest.err >&5
@@ -7921,7 +7953,22 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
+  withval=$with_pic; lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
 else
   pic_mode=default
 fi
@@ -7999,6 +8046,10 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
+
+
+
+
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -8458,7 +8509,9 @@ lt_prog_compiler_static=
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
+      if test -n "$lt_prog_compiler_pic"; then
+        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+      fi
       ;;
     esac
   else
@@ -8549,18 +8602,33 @@ lt_prog_compiler_static=
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ F* | *Sun*Fortran*)
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
 	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
 	  lt_prog_compiler_pic='-KPIC'
 	  lt_prog_compiler_static='-Bstatic'
 	  lt_prog_compiler_wl=''
 	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Qoption ld '
+	  ;;
 	*Sun\ C*)
 	  # Sun C 5.9
 	  lt_prog_compiler_pic='-KPIC'
 	  lt_prog_compiler_static='-Bstatic'
 	  lt_prog_compiler_wl='-Wl,'
 	  ;;
+        *Intel*\ [CF]*Compiler*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fPIC'
+	  lt_prog_compiler_static='-static'
+	  ;;
+	*Portland\ Group*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fpic'
+	  lt_prog_compiler_static='-Bstatic'
+	  ;;
 	esac
 	;;
       esac
@@ -8922,7 +8990,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   hardcode_direct=no
   hardcode_direct_absolute=no
   hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
   hardcode_libdir_separator=
   hardcode_minus_L=no
   hardcode_shlibpath_var=unsupported
@@ -9172,8 +9239,7 @@ _LT_EOF
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-	  hardcode_libdir_flag_spec=
-	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
+	  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
 	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
@@ -9552,6 +9618,7 @@ fi
 	# The linker will not automatically build a static lib if we build a DLL.
 	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
 	enable_shared_with_static_runtimes=yes
+	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
 	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 	# Don't use ranlib
 	old_postinstall_cmds='chmod 644 $oldlib'
@@ -9597,6 +9664,7 @@ fi
   hardcode_shlibpath_var=unsupported
   if test "$lt_cv_ld_force_load" = "yes"; then
     whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
   else
     whole_archive_flag_spec=''
   fi
@@ -9625,10 +9693,6 @@ fi
       hardcode_shlibpath_var=no
       ;;
 
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     # support.  Future versions do this automatically, but an explicit c++rt0.o
     # does not break anything, and helps significantly (at the cost of a little
@@ -9641,7 +9705,7 @@ fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
+    freebsd2.*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9680,7 +9744,6 @@ fi
       fi
       if test "$with_gnu_ld" = no; then
 	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_flag_spec_ld='+b $libdir'
 	hardcode_libdir_separator=:
 	hardcode_direct=yes
 	hardcode_direct_absolute=yes
@@ -10304,11 +10367,6 @@ esac
 
 
 
-
-
-
-
-
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -10398,7 +10456,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -10407,7 +10465,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -10472,7 +10530,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -10611,7 +10669,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -10619,10 +10677,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -10630,7 +10684,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[123]*) objformat=aout ;;
+    freebsd[23].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10648,7 +10702,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10668,17 +10722,18 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   ;;
 
 haiku*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -10739,7 +10794,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -10755,7 +10810,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -10792,9 +10847,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -10876,7 +10931,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -10945,7 +11000,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -10970,7 +11025,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -10994,7 +11049,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -11025,7 +11080,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -11035,7 +11090,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -11817,6 +11872,8 @@ CC="$lt_save_CC"
 
 
 
+
+
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -12096,6 +12153,7 @@ else
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -12155,7 +12213,7 @@ else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -12375,7 +12433,6 @@ export_dynamic_flag_spec_CXX=
 hardcode_direct_CXX=no
 hardcode_direct_absolute_CXX=no
 hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
 hardcode_libdir_separator_CXX=
 hardcode_minus_L_CXX=no
 hardcode_shlibpath_var_CXX=unsupported
@@ -12959,6 +13016,7 @@ fi
   hardcode_shlibpath_var_CXX=unsupported
   if test "$lt_cv_ld_force_load" = "yes"; then
     whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
   else
     whole_archive_flag_spec_CXX=''
   fi
@@ -13003,7 +13061,7 @@ fi
         esac
         ;;
 
-      freebsd[12]*)
+      freebsd2.*)
         # C++ shared libraries reported to be fairly broken before
 	# switch to ELF
         ld_shlibs_CXX=no
@@ -13679,6 +13737,7 @@ _lt_libdeps_save_CFLAGS=$CFLAGS
 case "$CC $CFLAGS " in #(
 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
 esac
 
 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
@@ -14468,7 +14527,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
     ;;
   cygwin* | mingw* | cegcc*)
     case $cc_basename in
-    cl*) ;;
+    cl*)
+      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
     *)
       export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
       exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
@@ -14621,8 +14682,6 @@ esac
 
 
 
-
-
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -14648,7 +14707,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -14657,7 +14716,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -14722,7 +14781,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -14859,7 +14918,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -14867,10 +14926,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -14878,7 +14933,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[123]*) objformat=aout ;;
+    freebsd[23].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -14896,7 +14951,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -14916,17 +14971,18 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   ;;
 
 haiku*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -14987,7 +15043,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -15003,7 +15059,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -15040,9 +15096,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -15124,7 +15180,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -15193,7 +15249,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -15218,7 +15274,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -15242,7 +15298,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -15273,7 +15329,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -15283,7 +15339,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -18691,6 +18747,7 @@ pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -18771,7 +18828,6 @@ with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
 allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
 no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
 hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
 hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
@@ -18843,7 +18899,6 @@ with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
 allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
 no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_CXX" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
 hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
 hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
@@ -18885,6 +18940,7 @@ DLLTOOL \
 OBJDUMP \
 SHELL \
 ECHO \
+PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -18933,7 +18989,6 @@ with_gnu_ld \
 allow_undefined_flag \
 no_undefined_flag \
 hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
 hardcode_libdir_separator \
 exclude_expsyms \
 include_expsyms \
@@ -18967,7 +19022,6 @@ with_gnu_ld_CXX \
 allow_undefined_flag_CXX \
 no_undefined_flag_CXX \
 hardcode_libdir_flag_spec_CXX \
-hardcode_libdir_flag_spec_ld_CXX \
 hardcode_libdir_separator_CXX \
 exclude_expsyms_CXX \
 include_expsyms_CXX \
@@ -19875,8 +19929,8 @@ $as_echo X"$file" |
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -19939,6 +19993,9 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -20234,10 +20291,6 @@ no_undefined_flag=$lt_no_undefined_flag
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
@@ -20580,10 +20633,6 @@ no_undefined_flag=$lt_no_undefined_flag_CXX
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
 
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
 
diff --git a/configure.in b/configure.in
index 345d504..76ca8c7 100644
--- a/configure.in
+++ b/configure.in
@@ -1,4 +1,4 @@
-dnl $Id: configure.in 3487 2011-09-27 15:34:31Z strk $
+dnl $Id: configure.in 3582 2012-04-01 20:42:27Z pramsey $
 dnl
 dnl configure.in - autoconf input template to produce ./configure script
 dnl
@@ -16,7 +16,7 @@ JTS_PORT=1.12.0
 
 dnl -- Version info for the CAPI
 CAPI_INTERFACE_CURRENT=8
-CAPI_INTERFACE_REVISION=1
+CAPI_INTERFACE_REVISION=4
 CAPI_INTERFACE_AGE=7
 
 dnl
@@ -25,7 +25,7 @@ dnl -- encoding ABI break at every release
 dnl
 VERSION_MAJOR=3
 VERSION_MINOR=3
-VERSION_PATCH=1
+VERSION_PATCH=3
 VERSION="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH"
 
 dnl CAPI_VERSION_MAJOR=$(($CAPI_INTERFACE_CURRENT-$CAPI_INTERFACE_AGE))
diff --git a/depcomp b/depcomp
index df8eea7..bd0ac08 100755
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,10 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2011-12-04.11; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
+# 2011 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@ Environment variables:
   object      Object file output by `PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <bug-automake at gnu.org>.
@@ -90,10 +90,18 @@ if test "$depmode" = msvcmsys; then
    # This is just like msvisualcpp but w/o cygpath translation.
    # Just convert the backslash-escaped backslashes to single forward
    # slashes to satisfy depend.m4
-   cygpath_u="sed s,\\\\\\\\,/,g"
+   cygpath_u='sed s,\\\\,/,g'
    depmode=msvisualcpp
 fi
 
+if test "$depmode" = msvc7msys; then
+   # This is just like msvc7 but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u='sed s,\\\\,/,g'
+   depmode=msvc7
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -158,10 +166,12 @@ gcc)
 ' < "$tmpdepfile" |
 ## Some versions of gcc put a space before the `:'.  On the theory
 ## that the space means something, we add a space to the output as
-## well.
+## well.  hp depmode also adds that space, but also prefixes the VPATH
+## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+      | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -405,6 +415,52 @@ tru64)
    rm -f "$tmpdepfile"
    ;;
 
+msvc7)
+  if test "$libtool" = yes; then
+    showIncludes=-Wc,-showIncludes
+  else
+    showIncludes=-showIncludes
+  fi
+  "$@" $showIncludes > "$tmpdepfile"
+  stat=$?
+  grep -v '^Note: including file: ' "$tmpdepfile"
+  if test "$stat" = 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The first sed program below extracts the file names and escapes
+  # backslashes for cygpath.  The second sed program outputs the file
+  # name when reading, but also accumulates all include files in the
+  # hold buffer in order to output them again at the end.  This only
+  # works with sed implementations that can handle large buffers.
+  sed < "$tmpdepfile" -n '
+/^Note: including file:  *\(.*\)/ {
+  s//\1/
+  s/\\/\\\\/g
+  p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/	\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+  s/.*/	/
+  G
+  p
+}' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvc7msys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 #nosideeffect)
   # This comment above is used by automake to tell side-effect
   # dependency tracking mechanisms from slower ones.
@@ -503,7 +559,9 @@ makedepend)
   touch "$tmpdepfile"
   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
+  # makedepend may prepend the VPATH from the source file name to the object.
+  # No need to regex-escape $object, excess matching of '.' is harmless.
+  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
   sed '1,2d' "$tmpdepfile" | tr ' ' '
 ' | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
diff --git a/doc/Doxyfile b/doc/Doxyfile
index 3f15fe4..592bcf3 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -23,7 +23,7 @@ PROJECT_NAME           =  GEOS
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 3.3.1
+PROJECT_NUMBER         = 3.3.3
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. 
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 6d9f5a8..93607ea 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -438,10 +438,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/Makefile.in b/include/Makefile.in
index 7046642..cf6f520 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -84,6 +84,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(includedir)"
 HEADERS = $(include_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -338,10 +344,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-	@if test ! -f $@; then \
-	  rm -f stamp-h1; \
-	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-	else :; fi
+	@if test ! -f $@; then rm -f stamp-h1; else :; fi
+	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -376,9 +380,7 @@ uninstall-includeHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(includedir)" && rm -f $$files
+	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -591,10 +593,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/Makefile.in b/include/geos/Makefile.in
index e8e5800..75cf9c3 100644
--- a/include/geos/Makefile.in
+++ b/include/geos/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -383,10 +389,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 platform.h: stamp-h2
-	@if test ! -f $@; then \
-	  rm -f stamp-h2; \
-	  $(MAKE) $(AM_MAKEFLAGS) stamp-h2; \
-	else :; fi
+	@if test ! -f $@; then rm -f stamp-h2; else :; fi
+	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h2; else :; fi
 
 stamp-h2: $(srcdir)/platform.h.in $(top_builddir)/config.status
 	@rm -f stamp-h2
@@ -423,9 +427,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -638,10 +640,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/algorithm/Makefile.in b/include/geos/algorithm/Makefile.in
index 175015b..25c87cf 100644
--- a/include/geos/algorithm/Makefile.in
+++ b/include/geos/algorithm/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -383,9 +389,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -598,10 +602,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/algorithm/distance/Makefile.in b/include/geos/algorithm/distance/Makefile.in
index c7baddb..091c9f7 100644
--- a/include/geos/algorithm/distance/Makefile.in
+++ b/include/geos/algorithm/distance/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -360,9 +366,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -575,10 +579,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/algorithm/locate/Makefile.in b/include/geos/algorithm/locate/Makefile.in
index 484e406..3fb380e 100644
--- a/include/geos/algorithm/locate/Makefile.in
+++ b/include/geos/algorithm/locate/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -360,9 +366,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -575,10 +579,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/geom/BinaryOp.h b/include/geos/geom/BinaryOp.h
index 055f4a5..5afd262 100644
--- a/include/geos/geom/BinaryOp.h
+++ b/include/geos/geom/BinaryOp.h
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: BinaryOp.h 3207 2011-02-13 19:22:24Z mloskot $
+ * $Id: BinaryOp.h 3552 2011-12-15 14:18:38Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -69,6 +69,7 @@
 #ifdef GEOS_DEBUG_BINARYOP
 # include <iostream>
 # include <iomanip>
+# include <sstream>
 #endif
 
 
@@ -151,6 +152,37 @@ check_valid(const Geometry& g, const std::string& label)
 	return true;
 }
 
+/* A single component may become a multi component */
+inline std::auto_ptr<Geometry>
+fix_snap_collapses(std::auto_ptr<Geometry> g, const std::string& label)
+{
+
+  // Areal geometries may become self-intersecting on snapping
+  if ( g->getGeometryTypeId() == GEOS_POLYGON ||
+       g->getGeometryTypeId() == GEOS_MULTIPOLYGON )
+  {
+
+    // TODO: use only ConsistentAreaTester
+    if ( ! check_valid(*g, label) ) {
+#if GEOS_DEBUG_BINARYOP
+      std::cerr << label << ": self-unioning" << std::endl;
+#endif
+      g = g->Union();
+#if GEOS_DEBUG_BINARYOP
+      std::stringstream ss;
+      ss << label << " self-unioned";
+      check_valid(*g, ss.str());
+#endif
+    }
+
+  }
+
+  // TODO: check linear collapses ? (!isSimple)
+
+  return g;
+}
+
+
 /// \brief
 /// Apply a binary operation to the given geometries
 /// after snapping them to each other after common-bits
@@ -195,22 +227,20 @@ SnapOp(const Geometry* g0, const Geometry *g1, BinOp _Op)
 	const Geometry& operand0 = *rG0;
 	const Geometry& operand1 = *rG1;
 #else // don't CBR before snapping
-	const Geometry& operand0 = *g0
-	const Geometry& operand1 = *g1
+	const Geometry& operand0 = *g0;
+	const Geometry& operand1 = *g1;
 #endif
 
 
 	GeometrySnapper snapper0( operand0 );
 	GeomPtr snapG0( snapper0.snapTo(operand1, snapTolerance) );
+	snapG0 = fix_snap_collapses(snapG0, "SNAP: snapped geom 0");
 
 	// NOTE: second geom is snapped on the snapped first one
 	GeometrySnapper snapper1( operand1 );
 	GeomPtr snapG1( snapper1.snapTo(*snapG0, snapTolerance) );
+	snapG1 = fix_snap_collapses(snapG1, "SNAP: snapped geom 1");
 
-#if GEOS_DEBUG_BINARYOP
-	check_valid(*snapG0, "SNAP: snapped geom 0");
-	check_valid(*snapG1, "SNAP: snapped geom 1");
-#endif
 
 	// Run the binary op
 	GeomPtr result( _Op(snapG0.get(), snapG1.get()) );
diff --git a/include/geos/geom/Geometry.h b/include/geos/geom/Geometry.h
index 796c0c5..0a99f42 100644
--- a/include/geos/geom/Geometry.h
+++ b/include/geos/geom/Geometry.h
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: Geometry.h 3255 2011-03-01 17:56:10Z mloskot $
+ * $Id: Geometry.h 3538 2011-12-09 10:44:54Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -876,6 +876,14 @@ std::string geosversion();
  */
 std::string jtsport();
 
+// We use this instead of std::pair<auto_ptr<Geometry>> because C++11
+// forbids that construct:
+// http://lwg.github.com/issues/lwg-closed.html#2068
+struct GeomPtrPair {
+	typedef std::auto_ptr<Geometry> GeomPtr;
+	GeomPtr first;
+	GeomPtr second;
+};
 
 } // namespace geos::geom
 } // namespace geos
diff --git a/include/geos/geom/Makefile.in b/include/geos/geom/Makefile.in
index 316d67d..e586d18 100644
--- a/include/geos/geom/Makefile.in
+++ b/include/geos/geom/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -402,9 +408,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -617,10 +621,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/geom/prep/Makefile.in b/include/geos/geom/prep/Makefile.in
index 2e6532b..c73605d 100644
--- a/include/geos/geom/prep/Makefile.in
+++ b/include/geos/geom/prep/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -333,9 +339,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -436,10 +440,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/geom/util/Makefile.in b/include/geos/geom/util/Makefile.in
index d28f92b..a396645 100644
--- a/include/geos/geom/util/Makefile.in
+++ b/include/geos/geom/util/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -332,9 +338,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -435,10 +439,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/geomgraph/Makefile.in b/include/geos/geomgraph/Makefile.in
index a663d4a..5fb2585 100644
--- a/include/geos/geomgraph/Makefile.in
+++ b/include/geos/geomgraph/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -381,9 +387,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -596,10 +600,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/geomgraph/index/Makefile.in b/include/geos/geomgraph/index/Makefile.in
index 62b4d98..04cbfbf 100644
--- a/include/geos/geomgraph/index/Makefile.in
+++ b/include/geos/geomgraph/index/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -331,9 +337,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -434,10 +438,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/index/Makefile.in b/include/geos/index/Makefile.in
index 574e3d5..0bee422 100644
--- a/include/geos/index/Makefile.in
+++ b/include/geos/index/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -366,9 +372,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -581,10 +585,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/index/bintree/Makefile.in b/include/geos/index/bintree/Makefile.in
index deeb8fd..33f7d52 100644
--- a/include/geos/index/bintree/Makefile.in
+++ b/include/geos/index/bintree/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -363,9 +369,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -578,10 +582,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/index/chain/Makefile.in b/include/geos/index/chain/Makefile.in
index b332819..fd4fd08 100644
--- a/include/geos/index/chain/Makefile.in
+++ b/include/geos/index/chain/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -361,9 +367,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -576,10 +580,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/index/intervalrtree/Makefile.in b/include/geos/index/intervalrtree/Makefile.in
index ae9bda0..cd92ade 100644
--- a/include/geos/index/intervalrtree/Makefile.in
+++ b/include/geos/index/intervalrtree/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -361,9 +367,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -576,10 +580,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/index/quadtree/Makefile.in b/include/geos/index/quadtree/Makefile.in
index 118f586..45f4e33 100644
--- a/include/geos/index/quadtree/Makefile.in
+++ b/include/geos/index/quadtree/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -364,9 +370,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -579,10 +583,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/index/strtree/Makefile.in b/include/geos/index/strtree/Makefile.in
index 0da721a..f4a155c 100644
--- a/include/geos/index/strtree/Makefile.in
+++ b/include/geos/index/strtree/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -364,9 +370,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -579,10 +583,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/index/sweepline/Makefile.in b/include/geos/index/sweepline/Makefile.in
index 35d7d1b..ef939ae 100644
--- a/include/geos/index/sweepline/Makefile.in
+++ b/include/geos/index/sweepline/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -361,9 +367,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -576,10 +580,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/io/Makefile.in b/include/geos/io/Makefile.in
index a3e8e14..7bfdf8a 100644
--- a/include/geos/io/Makefile.in
+++ b/include/geos/io/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -370,9 +376,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -585,10 +589,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/linearref/Makefile.in b/include/geos/linearref/Makefile.in
index ab6294a..b2252ef 100644
--- a/include/geos/linearref/Makefile.in
+++ b/include/geos/linearref/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -78,6 +78,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -327,9 +333,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -430,10 +434,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/noding/Makefile.in b/include/geos/noding/Makefile.in
index 94cf9b0..a074921 100644
--- a/include/geos/noding/Makefile.in
+++ b/include/geos/noding/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -385,9 +391,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -600,10 +604,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/noding/snapround/HotPixel.h b/include/geos/noding/snapround/HotPixel.h
index 13f6b44..a783f56 100644
--- a/include/geos/noding/snapround/HotPixel.h
+++ b/include/geos/noding/snapround/HotPixel.h
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: HotPixel.h 3255 2011-03-01 17:56:10Z mloskot $
+ * $Id: HotPixel.h 3527 2011-12-06 17:26:09Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -153,7 +153,8 @@ public:
 	/**
 	 * Creates a new hot pixel.
 	 *
-	 * @param pt the coordinate at the centre of the pixel
+	 * @param pt the coordinate at the centre of the pixel.
+	 *           Will be kept by reference, so make sure to keep it alive.
 	 * @param scaleFact the scaleFactor determining the pixel size
 	 * @param li the intersector to use for testing intersection with
 	 *        line segments
diff --git a/include/geos/noding/snapround/MCIndexSnapRounder.h b/include/geos/noding/snapround/MCIndexSnapRounder.h
index e258934..24c9613 100644
--- a/include/geos/noding/snapround/MCIndexSnapRounder.h
+++ b/include/geos/noding/snapround/MCIndexSnapRounder.h
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: MCIndexSnapRounder.h 3368 2011-05-17 17:04:47Z strk $
+ * $Id: MCIndexSnapRounder.h 3524 2011-11-30 09:49:58Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -13,7 +13,7 @@
  *
  **********************************************************************
  *
- * Last port: noding/snapround/MCIndexSnapRounder.java r320 (JTS-1.12)
+ * Last port: noding/snapround/MCIndexSnapRounder.java r480 (JTS-1.12)
  *
  **********************************************************************/
 
@@ -81,7 +81,9 @@ public:
 		pm(nPm),
 		scaleFactor(nPm.getScale()),
 		pointSnapper(0)
-  {}
+  {
+    li.setPrecisionModel(&pm);
+  }
 
 	std::vector<SegmentString*>* getNodedSubstrings() const {
 	  return NodedSegmentString::getNodedSubstrings(*nodedSegStrings);
diff --git a/include/geos/noding/snapround/Makefile.in b/include/geos/noding/snapround/Makefile.in
index eb6108d..a01d58c 100644
--- a/include/geos/noding/snapround/Makefile.in
+++ b/include/geos/noding/snapround/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -325,9 +331,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -428,10 +432,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/Makefile.in b/include/geos/operation/Makefile.in
index 30b0a04..dfabd70 100644
--- a/include/geos/operation/Makefile.in
+++ b/include/geos/operation/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -371,9 +377,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -586,10 +590,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/buffer/Makefile.in b/include/geos/operation/buffer/Makefile.in
index 33307fd..5dcab1f 100644
--- a/include/geos/operation/buffer/Makefile.in
+++ b/include/geos/operation/buffer/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -330,9 +336,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -433,10 +437,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/distance/Makefile.in b/include/geos/operation/distance/Makefile.in
index 8176338..d6ec018 100644
--- a/include/geos/operation/distance/Makefile.in
+++ b/include/geos/operation/distance/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -324,9 +330,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -427,10 +431,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/linemerge/Makefile.in b/include/geos/operation/linemerge/Makefile.in
index 1ced5ec..78a91cd 100644
--- a/include/geos/operation/linemerge/Makefile.in
+++ b/include/geos/operation/linemerge/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -326,9 +332,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -429,10 +433,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/overlay/Makefile.in b/include/geos/operation/overlay/Makefile.in
index 2cc2837..b348f34 100644
--- a/include/geos/operation/overlay/Makefile.in
+++ b/include/geos/operation/overlay/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -372,9 +378,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -587,10 +591,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/overlay/OverlayOp.h b/include/geos/operation/overlay/OverlayOp.h
index 7c86f53..d7d0e31 100644
--- a/include/geos/operation/overlay/OverlayOp.h
+++ b/include/geos/operation/overlay/OverlayOp.h
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: OverlayOp.h 2958 2010-03-29 11:29:40Z mloskot $
+ * $Id: OverlayOp.h 3551 2011-12-15 11:35:28Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -344,8 +344,8 @@ struct overlayOp {
         {}
 
         geom::Geometry* operator() (const geom::Geometry* g0,
-			const geom::Geometry* g1)
-	{
+                                    const geom::Geometry* g1)
+        {
                 return OverlayOp::overlayOp(g0, g1, opCode);
         }
 
diff --git a/include/geos/operation/overlay/snap/GeometrySnapper.h b/include/geos/operation/overlay/snap/GeometrySnapper.h
index ae08ef6..a864734 100644
--- a/include/geos/operation/overlay/snap/GeometrySnapper.h
+++ b/include/geos/operation/overlay/snap/GeometrySnapper.h
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: GeometrySnapper.h 3225 2011-02-21 14:02:37Z strk $
+ * $Id: GeometrySnapper.h 3538 2011-12-09 10:44:54Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -32,6 +32,7 @@ namespace geos {
 		//class PrecisionModel;
 		class Geometry;
 		class CoordinateSequence;
+		struct GeomPtrPair;
 	}
 }
 
@@ -60,7 +61,6 @@ class GEOS_DLL GeometrySnapper {
 public:
 
 	typedef std::auto_ptr<geom::Geometry> GeomPtr;
-	typedef std::pair<GeomPtr, GeomPtr> GeomPtrPair;
 
 	/**
 	 * Snaps two geometries together with a given tolerance.
@@ -73,7 +73,7 @@ public:
 	 */
 	static void snap(const geom::Geometry& g0,
 	                        const geom::Geometry& g1,
-	                        double snapTolerance, GeomPtrPair& ret);
+	                        double snapTolerance, geom::GeomPtrPair& ret);
 
 	static GeomPtr snapToSelf(const geom::Geometry& g0,
 	                        double snapTolerance, bool cleanResult);
diff --git a/include/geos/operation/overlay/snap/Makefile.in b/include/geos/operation/overlay/snap/Makefile.in
index 4965d93..9b55674 100644
--- a/include/geos/operation/overlay/snap/Makefile.in
+++ b/include/geos/operation/overlay/snap/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -324,9 +330,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -427,10 +431,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/overlay/snap/SnapOverlayOp.h b/include/geos/operation/overlay/snap/SnapOverlayOp.h
index 32badef..d7b4bd8 100644
--- a/include/geos/operation/overlay/snap/SnapOverlayOp.h
+++ b/include/geos/operation/overlay/snap/SnapOverlayOp.h
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: SnapOverlayOp.h 3255 2011-03-01 17:56:10Z mloskot $
+ * $Id: SnapOverlayOp.h 3538 2011-12-09 10:44:54Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -34,6 +34,7 @@
 namespace geos {
 	namespace geom {
 		class Geometry;
+		struct GeomPtrPair;
 	}
 }
 
@@ -107,12 +108,11 @@ private:
 
 	void computeSnapTolerance();
 
-	typedef std::pair<GeomPtr, GeomPtr> GeomPtrPair;
-
-	void snap(GeomPtrPair& ret);
+	void snap(geom::GeomPtrPair& ret);
 
 	void removeCommonBits(const geom::Geometry& geom0,
-	                      const geom::Geometry& geom1, GeomPtrPair& ret);
+	                      const geom::Geometry& geom1,
+	                      geom::GeomPtrPair& ret);
 
 	// re-adds common bits to the given geom
 	void prepareResult(geom::Geometry& geom);
diff --git a/include/geos/operation/polygonize/Makefile.in b/include/geos/operation/polygonize/Makefile.in
index 75bfccd..b336eb1 100644
--- a/include/geos/operation/polygonize/Makefile.in
+++ b/include/geos/operation/polygonize/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -325,9 +331,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -428,10 +432,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/predicate/Makefile.in b/include/geos/operation/predicate/Makefile.in
index 05cb5ea..2aa94fb 100644
--- a/include/geos/operation/predicate/Makefile.in
+++ b/include/geos/operation/predicate/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -323,9 +329,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -426,10 +430,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/relate/Makefile.in b/include/geos/operation/relate/Makefile.in
index 757291e..4aeb6ca 100644
--- a/include/geos/operation/relate/Makefile.in
+++ b/include/geos/operation/relate/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -328,9 +334,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -431,10 +435,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/sharedpaths/Makefile.in b/include/geos/operation/sharedpaths/Makefile.in
index b768f1d..8d57b58 100644
--- a/include/geos/operation/sharedpaths/Makefile.in
+++ b/include/geos/operation/sharedpaths/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -321,9 +327,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -424,10 +428,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/union/CascadedPolygonUnion.h b/include/geos/operation/union/CascadedPolygonUnion.h
index f8a0fb7..f28ff55 100644
--- a/include/geos/operation/union/CascadedPolygonUnion.h
+++ b/include/geos/operation/union/CascadedPolygonUnion.h
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: CascadedPolygonUnion.h 3294 2011-04-22 18:46:37Z strk $
+ * $Id: CascadedPolygonUnion.h 3532 2011-12-09 08:46:21Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -14,7 +14,7 @@
  *
  **********************************************************************
  *
- * Last port: operation/union/CascadedPolygonUnion.java r320 (JTS-1.12)
+ * Last port: operation/union/CascadedPolygonUnion.java r487 (JTS-1.12+)
  *
  **********************************************************************/
 
@@ -25,6 +25,7 @@
 
 #include <vector>
 #include <algorithm>
+#include <memory>
 
 #include "GeometryListHolder.h"
 
@@ -82,6 +83,22 @@ private:
      */
     static int const STRTREE_NODE_CAPACITY = 4;
 
+    /**
+     * Computes a {@link Geometry} containing only {@link Polygonal} components.
+     *
+     * Extracts the {@link Polygon}s from the input
+     * and returns them as an appropriate {@link Polygonal} geometry.
+     * 
+     * If the input is already <tt>Polygonal</tt>, it is returned unchanged.
+     *
+     * A particular use case is to filter out non-polygonal components
+     * returned from an overlay operation.
+     *
+     * @param g the geometry to filter
+     * @return a Polygonal geometry
+     */
+    static std::auto_ptr<geom::Geometry> restrictToPolygons(std::auto_ptr<geom::Geometry> g);
+
 public:
     CascadedPolygonUnion();
 
@@ -155,9 +172,9 @@ private:
      * Unions a section of a list using a recursive binary union on each half
      * of the section.
      * 
-     * @param geoms
-     * @param start
-     * @param end
+     * @param geoms the list of geometries containing the section to union
+     * @param start the start index of the section
+     * @param end the index after the end of the section
      * @return the union of the list section
      */
     geom::Geometry* binaryUnion(GeometryListHolder* geoms, std::size_t start, 
@@ -186,7 +203,10 @@ private:
     geom::Geometry* unionOptimized(geom::Geometry* g0, geom::Geometry* g1);
 
     /**
-     * Unions two polygonal geometries.
+     * \brief
+     * Unions two polygonal geometries, restricting computation
+     * to the envelope intersection where possible.
+     *
      * The case of MultiPolygons is optimized to union only 
      * the polygons which lie in the intersection of the two geometry's
      * envelopes.
diff --git a/include/geos/operation/union/Makefile.in b/include/geos/operation/union/Makefile.in
index d81a8bc..8200bc8 100644
--- a/include/geos/operation/union/Makefile.in
+++ b/include/geos/operation/union/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -325,9 +331,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -428,10 +432,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/operation/valid/Makefile.in b/include/geos/operation/valid/Makefile.in
index 7341c4f..a39cc10 100644
--- a/include/geos/operation/valid/Makefile.in
+++ b/include/geos/operation/valid/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -328,9 +334,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -431,10 +435,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/planargraph/Makefile.in b/include/geos/planargraph/Makefile.in
index ba0bc0e..c5f15b1 100644
--- a/include/geos/planargraph/Makefile.in
+++ b/include/geos/planargraph/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -366,9 +372,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -581,10 +585,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/planargraph/algorithm/Makefile.in b/include/geos/planargraph/algorithm/Makefile.in
index 1778566..f347ccf 100644
--- a/include/geos/planargraph/algorithm/Makefile.in
+++ b/include/geos/planargraph/algorithm/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -321,9 +327,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -424,10 +428,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/precision/Makefile.in b/include/geos/precision/Makefile.in
index 0992187..c377bcb 100644
--- a/include/geos/precision/Makefile.in
+++ b/include/geos/precision/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -325,9 +331,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -428,10 +432,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/simplify/Makefile.in b/include/geos/simplify/Makefile.in
index 93c3dd9..8adbcc4 100644
--- a/include/geos/simplify/Makefile.in
+++ b/include/geos/simplify/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -85,6 +85,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -365,9 +371,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -580,10 +584,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/util/Makefile.in b/include/geos/util/Makefile.in
index ff9a13c..ed2cb46 100644
--- a/include/geos/util/Makefile.in
+++ b/include/geos/util/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -86,6 +86,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(geosdir)"
 HEADERS = $(geos_HEADERS)
 ETAGS = etags
@@ -332,9 +338,7 @@ uninstall-geosHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(geos_HEADERS)'; test -n "$(geosdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(geosdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(geosdir)" && rm -f $$files
+	dir='$(DESTDIR)$(geosdir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -435,10 +439,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/include/geos/version.h b/include/geos/version.h
index 6562f3b..239224f 100644
--- a/include/geos/version.h
+++ b/include/geos/version.h
@@ -24,11 +24,11 @@
 #endif
 
 #ifndef GEOS_VERSION_PATCH
-#define GEOS_VERSION_PATCH 1
+#define GEOS_VERSION_PATCH 3
 #endif
 
 #ifndef GEOS_VERSION
-#define GEOS_VERSION "3.3.1"
+#define GEOS_VERSION "3.3.3"
 #endif
 
 #ifndef GEOS_JTS_PORT
diff --git a/install-sh b/install-sh
index 6781b98..a9244eb 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2011-01-19.21; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -156,6 +156,10 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
+	# Protect names problematic for `test' and other utilities.
+	case $dst_arg in
+	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
+	esac
 	shift;;
 
     -T) no_target_directory=true;;
@@ -186,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
+    # Protect names problematic for `test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
   done
 fi
 
@@ -200,7 +208,11 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
 
   # Set umask so as not to create temps with too-generous modes.
   # However, 'strip' requires both read and write access to temps.
@@ -228,9 +240,9 @@ fi
 
 for src
 do
-  # Protect names starting with `-'.
+  # Protect names problematic for `test' and other utilities.
   case $src in
-    -*) src=./$src;;
+    -* | [=\(\)!]) src=./$src;;
   esac
 
   if test -n "$dir_arg"; then
@@ -252,12 +264,7 @@ do
       echo "$0: no destination specified." >&2
       exit 1
     fi
-
     dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
 
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
@@ -385,7 +392,7 @@ do
 
       case $dstdir in
 	/*) prefix='/';;
-	-*) prefix='./';;
+	[-=\(\)!]*) prefix='./';;
 	*)  prefix='';;
       esac
 
@@ -403,7 +410,7 @@ do
 
       for d
       do
-	test -z "$d" && continue
+	test X"$d" = X && continue
 
 	prefix=$prefix$d
 	if test -d "$prefix"; then
diff --git a/ltmain.sh b/ltmain.sh
old mode 100755
new mode 100644
index 3061e3c..63ae69d
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,9 +1,9 @@
 
-# libtool (GNU libtool) 2.4
+# libtool (GNU libtool) 2.4.2
 # Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -41,6 +41,7 @@
 #       --quiet, --silent    don't print informational messages
 #       --no-quiet, --no-silent
 #                            print informational messages (default)
+#       --no-warn            don't display warning messages
 #       --tag=TAG            use configuration variables from tag TAG
 #   -v, --verbose            print more informational messages than default
 #       --no-verbose         don't print the extra informational messages
@@ -69,7 +70,7 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4
+#         $progname:	(GNU libtool) 2.4.2
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
@@ -79,9 +80,9 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.4
+VERSION=2.4.2
 TIMESTAMP=""
-package_revision=1.3293
+package_revision=1.3337
 
 # Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -136,15 +137,10 @@ progpath="$0"
 
 : ${CP="cp -f"}
 test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${EGREP="grep -E"}
-: ${FGREP="grep -F"}
-: ${GREP="grep"}
-: ${LN_S="ln -s"}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
-: ${SED="sed"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
 : ${Xsed="$SED -e 1s/^X//"}
 
@@ -387,7 +383,7 @@ case $progpath in
      ;;
   *)
      save_IFS="$IFS"
-     IFS=:
+     IFS=${PATH_SEPARATOR-:}
      for progdir in $PATH; do
        IFS="$save_IFS"
        test -x "$progdir/$progname" && break
@@ -771,8 +767,8 @@ func_help ()
 	s*\$LTCFLAGS*'"$LTCFLAGS"'*
 	s*\$LD*'"$LD"'*
 	s/\$with_gnu_ld/'"$with_gnu_ld"'/
-	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
-	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
 	p
 	d
      }
@@ -1052,6 +1048,7 @@ opt_finish=false
 opt_help=false
 opt_help_all=false
 opt_silent=:
+opt_warning=:
 opt_verbose=:
 opt_silent=false
 opt_verbose=false
@@ -1120,6 +1117,10 @@ esac
 			opt_silent=false
 func_append preserve_args " $opt"
 			;;
+      --no-warning|--no-warn)
+			opt_warning=false
+func_append preserve_args " $opt"
+			;;
       --no-verbose)
 			opt_verbose=false
 func_append preserve_args " $opt"
@@ -2059,7 +2060,7 @@ func_mode_compile ()
     *.[cCFSifmso] | \
     *.ada | *.adb | *.ads | *.asm | \
     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
+    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
       func_xform "$libobj"
       libobj=$func_xform_result
       ;;
@@ -3201,11 +3202,13 @@ func_mode_install ()
 
       # Set up the ranlib parameters.
       oldlib="$destdir/$name"
+      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+      tool_oldlib=$func_to_tool_file_result
 
       func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
 
       if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $oldlib" 'exit $?'
+	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
       fi
 
       # Do each command in the postinstall commands.
@@ -3470,7 +3473,7 @@ static const void *lt_preloaded_setup() {
 	  # linked before any other PIC object.  But we must not use
 	  # pic_flag when linking with -static.  The problem exists in
 	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
 	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
 	  *-*-hpux*)
 	    pic_flag_for_symtable=" $pic_flag"  ;;
@@ -3982,14 +3985,17 @@ func_exec_program_core ()
 # launches target application with the remaining arguments.
 func_exec_program ()
 {
-  for lt_wr_arg
-  do
-    case \$lt_wr_arg in
-    --lt-*) ;;
-    *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-    esac
-    shift
-  done
+  case \" \$* \" in
+  *\\ --lt-*)
+    for lt_wr_arg
+    do
+      case \$lt_wr_arg in
+      --lt-*) ;;
+      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+      esac
+      shift
+    done ;;
+  esac
   func_exec_program_core \${1+\"\$@\"}
 }
 
@@ -5057,9 +5063,15 @@ void lt_dump_script (FILE* f)
 {
 EOF
 	    func_emit_wrapper yes |
-              $SED -e 's/\([\\"]\)/\\\1/g' \
-	           -e 's/^/  fputs ("/' -e 's/$/\\n", f);/'
-
+	      $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/  fputs ("\1", f);/p
+g
+D'
             cat <<"EOF"
 }
 EOF
@@ -5643,7 +5655,8 @@ func_mode_link ()
 	continue
 	;;
 
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
 	func_append compiler_flags " $arg"
 	func_append compile_command " $arg"
 	func_append finalize_command " $arg"
@@ -6147,7 +6160,8 @@ func_mode_link ()
 	lib=
 	found=no
 	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
 	  if test "$linkmode,$pass" = "prog,link"; then
 	    compile_deplibs="$deplib $compile_deplibs"
 	    finalize_deplibs="$deplib $finalize_deplibs"
@@ -6831,7 +6845,7 @@ func_mode_link ()
 	         test "$hardcode_direct_absolute" = no; then
 		add="$dir/$linklib"
 	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
+		add_dir="-L$absdir"
 		# Try looking first in the location we're being installed to.
 		if test -n "$inst_prefix_dir"; then
 		  case $libdir in
@@ -7316,6 +7330,7 @@ func_mode_link ()
 	  # which has an extra 1 added just for fun
 	  #
 	  case $version_type in
+	  # correct linux to gnu/linux during the next big refactor
 	  darwin|linux|osf|windows|none)
 	    func_arith $number_major + $number_minor
 	    current=$func_arith_result
@@ -7432,7 +7447,7 @@ func_mode_link ()
 	  versuffix="$major.$revision"
 	  ;;
 
-	linux)
+	linux) # correct to gnu/linux during the next big refactor
 	  func_arith $current - $age
 	  major=.$func_arith_result
 	  versuffix="$major.$age.$revision"
@@ -8020,6 +8035,11 @@ EOF
 
       # Test again, we may have decided not to build it any more
       if test "$build_libtool_libs" = yes; then
+	# Remove ${wl} instances when linking with ld.
+	# FIXME: should test the right _cmds variable.
+	case $archive_cmds in
+	  *\$LD\ *) wl= ;;
+        esac
 	if test "$hardcode_into_libs" = yes; then
 	  # Hardcode the library paths
 	  hardcode_libdirs=
@@ -8050,7 +8070,7 @@ EOF
 	    elif test -n "$runpath_var"; then
 	      case "$perm_rpath " in
 	      *" $libdir "*) ;;
-	      *) func_apped perm_rpath " $libdir" ;;
+	      *) func_append perm_rpath " $libdir" ;;
 	      esac
 	    fi
 	  done
@@ -8058,11 +8078,7 @@ EOF
 	  if test -n "$hardcode_libdir_separator" &&
 	     test -n "$hardcode_libdirs"; then
 	    libdir="$hardcode_libdirs"
-	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
-	    else
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	    fi
+	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
 	  fi
 	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
 	    # We should set the runpath_var.
@@ -9152,6 +9168,8 @@ EOF
 	    esac
 	  done
 	fi
+	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+	tool_oldlib=$func_to_tool_file_result
 	eval cmds=\"$old_archive_cmds\"
 
 	func_len " $cmds"
@@ -9261,7 +9279,8 @@ EOF
 	      *.la)
 		func_basename "$deplib"
 		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		func_resolve_sysroot "$deplib"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
 		test -z "$libdir" && \
 		  func_fatal_error "\`$deplib' is not a valid libtool archive"
 		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
diff --git a/macros/Makefile.in b/macros/Makefile.in
index fdb7b8c..ad23912 100644
--- a/macros/Makefile.in
+++ b/macros/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -323,10 +323,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/macros/geos.m4 b/macros/geos.m4
index df252a7..064c2ab 100644
--- a/macros/geos.m4
+++ b/macros/geos.m4
@@ -1,8 +1,8 @@
-dnl $Id: geos.m4 2137 2008-07-25 21:00:09Z mloskot $
+dnl $Id: geos.m4 3541 2011-12-12 09:57:21Z strk $
 dnl 
 dnl GEOS_INIT (MINIMUM_VERSION)
 dnl
-dnl Test for GEOS: define HAVE_GEOS, GEOS_LIBS, GEOS_CFLAGS, GEOS_VERSION
+dnl Test for GEOS: define HAVE_GEOS, GEOS_LIBS, GEOS_C_LIBS, GEOS_CFLAGS, GEOS_VERSION
 dnl 
 dnl Call as GEOS_INIT or GEOS_INIT(minimum version) in configure.in. Test
 dnl HAVE_GEOS (yes|no) afterwards. If yes, all other vars above can be 
@@ -17,6 +17,8 @@ dnl
 AC_DEFUN([GEOS_INIT],[
 	AC_SUBST(GEOS_LIBS)
 	AC_SUBST(GEOS_CFLAGS)
+	AC_SUBST(GEOS_C_LIBS)
+	AC_SUBST(GEOS_C_CFLAGS)
 	AC_SUBST(HAVE_GEOS) 
 	AC_SUBST(GEOS_VERSION)
 
@@ -76,6 +78,7 @@ AC_DEFUN([GEOS_INIT],[
           AC_MSG_RESULT(yes)
           HAVE_GEOS="yes"
           GEOS_LIBS="`$GEOS_CONFIG --libs`"
+          GEOS_C_LIBS="`$GEOS_CONFIG --ldflags` -lgeos_c"
           GEOS_CFLAGS="`$GEOS_CONFIG --cflags`"
           GEOS_VERSION="`$GEOS_CONFIG --version`"
         else
diff --git a/macros/libtool.m4 b/macros/libtool.m4
index d812584..44e0ecf 100644
--- a/macros/libtool.m4
+++ b/macros/libtool.m4
@@ -1,8 +1,8 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -11,8 +11,8 @@
 
 m4_define([_LT_COPYING], [dnl
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -146,6 +146,8 @@ AC_REQUIRE([AC_CANONICAL_BUILD])dnl
 AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
 
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
 _LT_DECL([], [host_alias], [0], [The host system])dnl
 _LT_DECL([], [host], [0])dnl
 _LT_DECL([], [host_os], [0])dnl
@@ -637,7 +639,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
 configured by $[0], generated by m4_PACKAGE_STRING.
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2011 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permision to copy, distribute and modify it."
 
@@ -801,6 +803,7 @@ AC_DEFUN([LT_LANG],
 m4_case([$1],
   [C],			[_LT_LANG(C)],
   [C++],		[_LT_LANG(CXX)],
+  [Go],			[_LT_LANG(GO)],
   [Java],		[_LT_LANG(GCJ)],
   [Fortran 77],		[_LT_LANG(F77)],
   [Fortran],		[_LT_LANG(FC)],
@@ -822,6 +825,31 @@ m4_defun([_LT_LANG],
 ])# _LT_LANG
 
 
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC],     [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+  fi
+fi
+if test -z "$GOC"; then
+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
 # _LT_LANG_DEFAULT_CONFIG
 # -----------------------
 m4_defun([_LT_LANG_DEFAULT_CONFIG],
@@ -852,6 +880,10 @@ AC_PROVIDE_IFELSE([AC_PROG_GCJ],
        m4_ifdef([LT_PROG_GCJ],
 	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
 
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+  [LT_LANG(GO)],
+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
 AC_PROVIDE_IFELSE([LT_PROG_RC],
   [LT_LANG(RC)],
   [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
@@ -954,7 +986,13 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
 	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
 	  lt_cv_apple_cc_single_mod=yes
 	else
 	  cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -962,6 +1000,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	rm -rf libconftest.dylib*
 	rm -f conftest.*
       fi])
+
     AC_CACHE_CHECK([for -exported_symbols_list linker flag],
       [lt_cv_ld_exported_symbols_list],
       [lt_cv_ld_exported_symbols_list=no
@@ -973,6 +1012,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	[lt_cv_ld_exported_symbols_list=no])
 	LDFLAGS="$save_LDFLAGS"
     ])
+
     AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
       [lt_cv_ld_force_load=no
       cat > conftest.c << _LT_EOF
@@ -990,7 +1030,9 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
 	lt_cv_ld_force_load=yes
       else
 	cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1035,8 +1077,8 @@ _LT_EOF
 ])
 
 
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
 # Checks for linker and compiler features on darwin
 m4_defun([_LT_DARWIN_LINKER_FEATURES],
 [
@@ -1047,6 +1089,8 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
   if test "$lt_cv_ld_force_load" = "yes"; then
     _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
   else
     _LT_TAGVAR(whole_archive_flag_spec, $1)=''
   fi
@@ -1330,14 +1374,27 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-sparc*-*solaris*)
+*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
       *)
 	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
 	  LD="${LD-ld} -64"
@@ -1414,13 +1471,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
 
 case $host_os in
@@ -1600,6 +1657,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     lt_cv_sys_max_cmd_len=196608
     ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -1639,7 +1701,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
 	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
@@ -2185,7 +2247,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -2194,7 +2256,7 @@ aix3*)
   ;;
 
 aix[[4-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -2259,7 +2321,7 @@ beos*)
   ;;
 
 bsdi[[45]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -2398,7 +2460,7 @@ m4_if([$1], [],[
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -2406,10 +2468,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -2417,7 +2475,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
+    freebsd[[23]].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -2435,7 +2493,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[[01]]* | freebsdelf3.[[01]]*)
@@ -2455,17 +2513,18 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   ;;
 
 haiku*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -2526,7 +2585,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[[3-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -2542,7 +2601,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -2579,9 +2638,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2644,7 +2703,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -2713,7 +2772,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2738,7 +2797,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -2762,7 +2821,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -2793,7 +2852,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2803,7 +2862,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -3225,7 +3284,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3645,6 +3704,7 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK ['"\
 "     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -4229,7 +4289,9 @@ m4_if([$1], [CXX], [
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+      fi
       ;;
     esac
   else
@@ -4321,18 +4383,33 @@ m4_if([$1], [CXX], [
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ F* | *Sun*Fortran*)
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
 	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
 	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
 	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	  ;;
 	*Sun\ C*)
 	  # Sun C 5.9
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
 	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	  ;;
+        *Intel*\ [[CF]]*Compiler*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	  ;;
+	*Portland\ Group*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  ;;
 	esac
 	;;
       esac
@@ -4492,7 +4569,9 @@ m4_if([$1], [CXX], [
     ;;
   cygwin* | mingw* | cegcc*)
     case $cc_basename in
-    cl*) ;;
+    cl*)
+      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
     *)
       _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
       _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
@@ -4517,7 +4596,6 @@ m4_if([$1], [CXX], [
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_direct_absolute, $1)=no
   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
   _LT_TAGVAR(hardcode_libdir_separator, $1)=
   _LT_TAGVAR(hardcode_minus_L, $1)=no
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -4768,8 +4846,7 @@ _LT_EOF
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
@@ -5064,6 +5141,7 @@ _LT_EOF
 	# The linker will not automatically build a static lib if we build a DLL.
 	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
 	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
 	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
 	# Don't use ranlib
 	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
@@ -5110,10 +5188,6 @@ _LT_EOF
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
-    freebsd1*)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     # support.  Future versions do this automatically, but an explicit c++rt0.o
     # does not break anything, and helps significantly (at the cost of a little
@@ -5126,7 +5200,7 @@ _LT_EOF
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
+    freebsd2.*)
       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       _LT_TAGVAR(hardcode_direct, $1)=yes
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5165,7 +5239,6 @@ _LT_EOF
       fi
       if test "$with_gnu_ld" = no; then
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
 	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
 	_LT_TAGVAR(hardcode_direct, $1)=yes
 	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
@@ -5607,9 +5680,6 @@ _LT_TAGDECL([], [no_undefined_flag], [1],
 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
     [Flag to hardcode $libdir into a binary during linking.
     This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
-    [[If ld is used when linking, flag to hardcode $libdir into a binary
-    during linking.  This must work even if $libdir does not exist]])
 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
     [Whether we need a single "-rpath" flag with a separated argument])
 _LT_TAGDECL([], [hardcode_direct], [0],
@@ -5767,7 +5837,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -6137,7 +6206,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         esac
         ;;
 
-      freebsd[[12]]*)
+      freebsd2.*)
         # C++ shared libraries reported to be fairly broken before
 	# switch to ELF
         _LT_TAGVAR(ld_shlibs, $1)=no
@@ -6898,12 +6967,18 @@ public class foo {
   }
 };
 _LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
 ])
 
 _lt_libdeps_save_CFLAGS=$CFLAGS
 case "$CC $CFLAGS " in #(
 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
 esac
 
 dnl Parse the compiler output and extract the necessary
@@ -7100,7 +7175,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7233,7 +7307,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7420,6 +7493,77 @@ CFLAGS=$lt_save_CFLAGS
 ])# _LT_LANG_GCJ_CONFIG
 
 
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
 # _LT_LANG_RC_CONFIG([TAG])
 # -------------------------
 # Ensure that the configuration variables for the Windows resource compiler
@@ -7489,6 +7633,13 @@ dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
 
 
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
 # LT_PROG_RC
 # ----------
 AC_DEFUN([LT_PROG_RC],
diff --git a/macros/ltoptions.m4 b/macros/ltoptions.m4
index 17cfd51..5d9acd8 100644
--- a/macros/ltoptions.m4
+++ b/macros/ltoptions.m4
@@ -326,9 +326,24 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
 # MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
 m4_define([_LT_WITH_PIC],
 [AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic],
+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
 	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
+    [lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
     [pic_mode=default])
 
 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
diff --git a/macros/ltversion.m4 b/macros/ltversion.m4
index 9c7b5d4..07a8602 100644
--- a/macros/ltversion.m4
+++ b/macros/ltversion.m4
@@ -9,15 +9,15 @@
 
 # @configure_input@
 
-# serial 3293 ltversion.m4
+# serial 3337 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.4])
-m4_define([LT_PACKAGE_REVISION], [1.3293])
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4'
-macro_revision='1.3293'
+[macro_version='2.4.2'
+macro_revision='1.3337'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
diff --git a/php/Makefile.in b/php/Makefile.in
index 0757147..ac91fe4 100644
--- a/php/Makefile.in
+++ b/php/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -99,6 +99,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(pkglibdir)"
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 @ENABLE_PHP_TRUE at geos_la_DEPENDENCIES =  \
@@ -683,10 +689,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/php/test/Makefile.in b/php/test/Makefile.in
index a3519f9..532e8ea 100644
--- a/php/test/Makefile.in
+++ b/php/test/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -383,14 +383,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -439,10 +440,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/py-compile b/py-compile
index 3f9d05b..15c834c 100755
--- a/py-compile
+++ b/py-compile
@@ -1,10 +1,10 @@
 #!/bin/sh
 # py-compile - Compile a Python program
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2011-06-08.12; # UTC
 
-# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2008, 2009 Free Software
-# Foundation, Inc.
+# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2008, 2009, 2011 Free
+# Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -32,28 +32,36 @@ if [ -z "$PYTHON" ]; then
   PYTHON=python
 fi
 
+me=py-compile
+
+usage_error ()
+{
+  echo "$me: $*" >&2
+  echo "Try \`$me --help' for more information." >&2
+  exit 1
+}
+
 basedir=
 destdir=
-files=
 while test $# -ne 0; do
   case "$1" in
     --basedir)
-      basedir=$2
-      if test -z "$basedir"; then
-        echo "$0: Missing argument to --basedir." 1>&2
-        exit 1
+      if test $# -lt 2; then
+        usage_error "option '--basedir' requires an argument"
+      else
+        basedir=$2
       fi
       shift
       ;;
     --destdir)
-      destdir=$2
-      if test -z "$destdir"; then
-        echo "$0: Missing argument to --destdir." 1>&2
-        exit 1
+      if test $# -lt 2; then
+        usage_error "option '--destdir' requires an argument"
+      else
+        destdir=$2
       fi
       shift
       ;;
-    -h|--h*)
+    -h|--help)
       cat <<\EOF
 Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..."
 
@@ -69,20 +77,27 @@ Report bugs to <bug-automake at gnu.org>.
 EOF
       exit $?
       ;;
-    -v|--v*)
-      echo "py-compile $scriptversion"
+    -v|--version)
+      echo "$me $scriptversion"
       exit $?
       ;;
+    --)
+      shift
+      break
+      ;;
+    -*)
+      usage_error "unrecognized option '$1'"
+      ;;
     *)
-      files="$files $1"
+      break
       ;;
   esac
   shift
 done
 
+files=$*
 if test -z "$files"; then
-    echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2
-    exit 1
+    usage_error "no files given"
 fi
 
 # if basedir was given, then it should be prepended to filenames before
diff --git a/src/Makefile.in b/src/Makefile.in
index 8ca0312..d64cba2 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -75,6 +75,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(libdir)"
 LTLIBRARIES = $(lib_LTLIBRARIES)
 libgeos_la_DEPENDENCIES = algorithm/libalgorithm.la geom/libgeom.la \
@@ -671,10 +677,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/algorithm/CGAlgorithms.cpp b/src/algorithm/CGAlgorithms.cpp
index 1973083..b75e7cc 100644
--- a/src/algorithm/CGAlgorithms.cpp
+++ b/src/algorithm/CGAlgorithms.cpp
@@ -307,18 +307,20 @@ CGAlgorithms::signedArea(const CoordinateSequence* ring)
 
 	if (npts<3) return 0.0;
 
+	Coordinate pp;
+	Coordinate cp = ring->getAt(0);
+	Coordinate np = ring->getAt(1);
+	double x0 = cp.x;
+        np.x -= x0;
 	double sum=0.0;
-	Coordinate p = ring->getAt(0);
-	double bx = p.x;
-	double by = p.y;
 	for (size_t i=1; i<npts; ++i)
 	{
-		ring->getAt(i, p);
-		double cx = p.x;
-		double cy = p.y;
-		sum += (bx+cx) * (cy-by);
-		bx = cx;
-		by = cy;
+		pp.y = cp.y;
+		cp.x = np.x;
+		cp.y = np.y;
+		ring->getAt(i, np);
+                np.x -= x0;
+		sum += cp.x * (np.y - pp.y);
 	}
 	return -sum/2.0;
 }
diff --git a/src/algorithm/Makefile.in b/src/algorithm/Makefile.in
index 93ddf84..bd266de 100644
--- a/src/algorithm/Makefile.in
+++ b/src/algorithm/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -642,10 +642,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/algorithm/RobustDeterminant.cpp b/src/algorithm/RobustDeterminant.cpp
index d61bc3b..51e6e72 100644
--- a/src/algorithm/RobustDeterminant.cpp
+++ b/src/algorithm/RobustDeterminant.cpp
@@ -1,12 +1,12 @@
 /**********************************************************************
- * $Id: RobustDeterminant.cpp 3370 2011-05-18 19:59:50Z strk $
+ * $Id: RobustDeterminant.cpp 3572 2012-02-16 18:19:41Z pramsey $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
  *
- * Copyright (c) Olivier Devillers <Olivier.Devillers at sophia.inria.fr>
- * Copyright (C) 2006 Refractions Research Inc.
+ * Copyright (c) 1995 Olivier Devillers <Olivier.Devillers at sophia.inria.fr>
  * Copyright (C) 2001-2002 Vivid Solutions Inc.
+ * Copyright (C) 2006 Refractions Research Inc.
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
@@ -15,6 +15,21 @@
  *
  **********************************************************************
  *
+ * RobustDeterminant implements an algorithm to compute the
+ * sign of a 2x2 determinant for double precision values robustly.
+ * It is a direct translation of code developed by Olivier Devillers.
+ *
+ * The original code carries the following copyright notice:
+ *
+ * Author : Olivier Devillers
+ * Olivier.Devillers at sophia.inria.fr
+ * http:/www.inria.fr:/prisme/personnel/devillers/anglais/determinant.html
+ *
+ * Olivier Devillers has allowed the code to be distributed under
+ * the LGPL (2012-02-16) saying "It is ok for LGPL distribution."
+ *
+ **********************************************************************
+ *
  * Last port: algorithm/RobustDeterminant.java 1.15 (JTS-1.10)
  *
  **********************************************************************/
diff --git a/src/algorithm/distance/Makefile.in b/src/algorithm/distance/Makefile.in
index 49c4f5a..0c938d4 100644
--- a/src/algorithm/distance/Makefile.in
+++ b/src/algorithm/distance/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -588,10 +588,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/algorithm/locate/Makefile.in b/src/algorithm/locate/Makefile.in
index 744ac55..63bcc49 100644
--- a/src/algorithm/locate/Makefile.in
+++ b/src/algorithm/locate/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -590,10 +590,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/geom/Coordinate.cpp b/src/geom/Coordinate.cpp
index 5922779..0dfab5f 100644
--- a/src/geom/Coordinate.cpp
+++ b/src/geom/Coordinate.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: Coordinate.cpp 3367 2011-05-17 16:50:03Z strk $
+ * $Id: Coordinate.cpp 3521 2011-11-29 14:01:25Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -18,6 +18,7 @@
 
 #include <sstream>
 #include <string>
+#include <iomanip>
 
 #ifndef GEOS_INLINE
 # include <geos/geom/Coordinate.inl>
@@ -40,7 +41,7 @@ string
 Coordinate::toString() const
 {
 	ostringstream s;
-	s<<*this;
+	s << std::setprecision(17) << *this;
 	return s.str();
 }
 
diff --git a/src/geom/Makefile.in b/src/geom/Makefile.in
index c8a877b..aebe222 100644
--- a/src/geom/Makefile.in
+++ b/src/geom/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -647,10 +647,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/geom/prep/Makefile.in b/src/geom/prep/Makefile.in
index 4adb193..9ca2ff0 100644
--- a/src/geom/prep/Makefile.in
+++ b/src/geom/prep/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -467,10 +467,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/geom/util/Makefile.in b/src/geom/util/Makefile.in
index 8c47b2b..7fdd56d 100644
--- a/src/geom/util/Makefile.in
+++ b/src/geom/util/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -448,10 +448,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/geomgraph/Makefile.in b/src/geomgraph/Makefile.in
index a82ad6c..318a70d 100644
--- a/src/geomgraph/Makefile.in
+++ b/src/geomgraph/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -628,10 +628,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/geomgraph/index/Makefile.in b/src/geomgraph/index/Makefile.in
index 9992ac0..7773468 100644
--- a/src/geomgraph/index/Makefile.in
+++ b/src/geomgraph/index/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -451,10 +451,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/index/Makefile.in b/src/index/Makefile.in
index 016b4a2..dfbc355 100644
--- a/src/index/Makefile.in
+++ b/src/index/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -572,10 +572,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/index/bintree/Makefile.in b/src/index/bintree/Makefile.in
index 2512725..2144293 100644
--- a/src/index/bintree/Makefile.in
+++ b/src/index/bintree/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -445,10 +445,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/index/chain/Makefile.in b/src/index/chain/Makefile.in
index 0c90a11..9332c5d 100644
--- a/src/index/chain/Makefile.in
+++ b/src/index/chain/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -440,10 +440,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/index/intervalrtree/Makefile.in b/src/index/intervalrtree/Makefile.in
index 0bdc5e3..90525c4 100644
--- a/src/index/intervalrtree/Makefile.in
+++ b/src/index/intervalrtree/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -441,10 +441,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/index/quadtree/Makefile.in b/src/index/quadtree/Makefile.in
index c9a8906..5af6944 100644
--- a/src/index/quadtree/Makefile.in
+++ b/src/index/quadtree/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -446,10 +446,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/index/strtree/Makefile.in b/src/index/strtree/Makefile.in
index c813c40..6f03afd 100644
--- a/src/index/strtree/Makefile.in
+++ b/src/index/strtree/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -445,10 +445,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/index/sweepline/Makefile.in b/src/index/sweepline/Makefile.in
index efe12d6..485271c 100644
--- a/src/index/sweepline/Makefile.in
+++ b/src/index/sweepline/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -439,10 +439,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/index/sweepline/SweepLineIndex.cpp b/src/index/sweepline/SweepLineIndex.cpp
index 1453e8c..0b5ddac 100644
--- a/src/index/sweepline/SweepLineIndex.cpp
+++ b/src/index/sweepline/SweepLineIndex.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: SweepLineIndex.cpp 3407 2011-07-05 09:44:19Z strk $
+ * $Id: SweepLineIndex.cpp 3512 2011-11-04 15:00:15Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -29,8 +29,8 @@ namespace sweepline { // geos.index.sweepline
 
 SweepLineIndex::SweepLineIndex()
 	:
-	nOverlaps(0),
-	indexBuilt(false)
+	indexBuilt(false),
+	nOverlaps(0)
 {
 	//events=new vector<SweepLineEvent*>();
 	//nOverlaps=0;
diff --git a/src/io/Makefile.in b/src/io/Makefile.in
index 2382513..185b418 100644
--- a/src/io/Makefile.in
+++ b/src/io/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -458,10 +458,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/linearref/Makefile.in b/src/linearref/Makefile.in
index 8182ce9..fda8f9f 100644
--- a/src/linearref/Makefile.in
+++ b/src/linearref/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -453,10 +453,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/noding/Makefile.in b/src/noding/Makefile.in
index f440b0b..53c3fed 100644
--- a/src/noding/Makefile.in
+++ b/src/noding/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -630,10 +630,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/noding/snapround/HotPixel.cpp b/src/noding/snapround/HotPixel.cpp
index defa0d3..d5b2e5c 100644
--- a/src/noding/snapround/HotPixel.cpp
+++ b/src/noding/snapround/HotPixel.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: HotPixel.cpp 3237 2011-02-23 14:37:05Z strk $
+ * $Id: HotPixel.cpp 3527 2011-12-06 17:26:09Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -43,7 +43,7 @@ HotPixel::HotPixel(const Coordinate& newPt, double newScaleFactor,
 	:
 	li(newLi),
 	pt(newPt),
-	originalPt(pt),
+	originalPt(newPt),
 	scaleFactor(newScaleFactor)
 {
 	if (scaleFactor != 1.0) {
diff --git a/src/noding/snapround/MCIndexSnapRounder.cpp b/src/noding/snapround/MCIndexSnapRounder.cpp
index 0f104d4..70ad597 100644
--- a/src/noding/snapround/MCIndexSnapRounder.cpp
+++ b/src/noding/snapround/MCIndexSnapRounder.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: MCIndexSnapRounder.cpp 3372 2011-05-19 19:32:06Z warmerdam $
+ * $Id: MCIndexSnapRounder.cpp 3524 2011-11-30 09:49:58Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -13,7 +13,7 @@
  *
  **********************************************************************
  *
- * Last port: noding/snapround/MCIndexSnapRounder.java r320 (JTS-1.12)
+ * Last port: noding/snapround/MCIndexSnapRounder.java r480 (JTS-1.12)
  *
  **********************************************************************/
 
diff --git a/src/noding/snapround/Makefile.in b/src/noding/snapround/Makefile.in
index cb2fd00..9b81414 100644
--- a/src/noding/snapround/Makefile.in
+++ b/src/noding/snapround/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -592,10 +592,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/Makefile.in b/src/operation/Makefile.in
index cf87e59..10fd6c1 100644
--- a/src/operation/Makefile.in
+++ b/src/operation/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -614,10 +614,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/buffer/BufferBuilder.cpp b/src/operation/buffer/BufferBuilder.cpp
index 5fc4c9b..0a29520 100644
--- a/src/operation/buffer/BufferBuilder.cpp
+++ b/src/operation/buffer/BufferBuilder.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: BufferBuilder.cpp 3440 2011-07-20 11:48:31Z strk $
+ * $Id: BufferBuilder.cpp 3519 2011-11-28 08:40:15Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -536,7 +536,7 @@ std::cerr << "after noding: "
 		if ( cs->size() < 2 ) 
 		{
 			delete cs; // we need to take care of the memory here as cs is a new sequence
-			return; // don't insert collapsed edges
+			continue; // don't insert collapsed edges
 		}
 		// we need to clone SegmentString coordinates
 		// as Edge will take ownership of them
diff --git a/src/operation/buffer/BufferOp.cpp b/src/operation/buffer/BufferOp.cpp
index 05a7c8b..e7aab6f 100644
--- a/src/operation/buffer/BufferOp.cpp
+++ b/src/operation/buffer/BufferOp.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: BufferOp.cpp 3319 2011-04-28 15:09:04Z strk $
+ * $Id: BufferOp.cpp 3559 2012-01-06 21:34:49Z hobu $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -38,7 +38,6 @@
 #include <geos/algorithm/LineIntersector.h>
 #include <geos/noding/MCIndexNoder.h>
 #include <geos/noding/IntersectionAdder.h>
-#include <geos/noding/snapround/SimpleSnapRounder.h>
 
 
 
@@ -60,11 +59,10 @@ namespace buffer { // geos.operation.buffer
 static Profiler *profiler = Profiler::instance();
 #endif
 
-/*private*/
-double
-BufferOp::precisionScaleFactor(const Geometry *g,
-	double distance,
-	int maxPrecisionDigits)
+namespace {
+
+double OLDprecisionScaleFactor(const Geometry *g,
+	double distance, int maxPrecisionDigits)
 {
 	const Envelope *env=g->getEnvelopeInternal();
 	double envSize=(std::max)(env->getHeight(), env->getWidth());
@@ -78,6 +76,32 @@ BufferOp::precisionScaleFactor(const Geometry *g,
 	return scaleFactor;
 }
 
+} // anonymous namespace
+
+/*private*/
+double
+BufferOp::precisionScaleFactor(const Geometry *g,
+	double distance,
+	int maxPrecisionDigits)
+{
+  const Envelope *env=g->getEnvelopeInternal();
+  double envMax = std::max(
+    std::max(fabs(env->getMaxX()), fabs(env->getMinX())),
+    std::max(fabs(env->getMaxY()), fabs(env->getMinY()))
+  );
+
+  double expandByDistance = distance > 0.0 ? distance : 0.0;
+  double bufEnvMax = envMax + 2 * expandByDistance;
+
+  // the smallest power of 10 greater than the buffer envelope
+  int bufEnvPrecisionDigits = (int) (std::log(bufEnvMax) / std::log(10.0) + 1.0);
+  int minUnitLog10 = maxPrecisionDigits - bufEnvPrecisionDigits;
+
+  double scaleFactor = std::pow(10.0, minUnitLog10);
+
+  return scaleFactor;
+}
+
 /*public static*/
 Geometry*
 BufferOp::bufferOp(const Geometry *g, double distance,
@@ -107,7 +131,6 @@ BufferOp::computeGeometry()
 	std::cerr<<"BufferOp::computeGeometry: trying with original precision"<<std::endl;
 #endif
 
-	//bufferReducedPrecision(); return; // FIXME: remove this code
 	bufferOriginalPrecision();
 
 	if (resultGeometry!=NULL) return;
@@ -197,7 +220,14 @@ BufferOp::bufferFixedPrecision(const PrecisionModel& fixedPM)
 
 
 	PrecisionModel pm(1.0); // fixed as well
-	snapround::MCIndexSnapRounder inoder(pm); 
+
+#if 0 /* FIXME: MCIndexSnapRounder seems to be still bogus */
+  snapround::MCIndexSnapRounder inoder(pm);
+#else
+  algorithm::LineIntersector li(&fixedPM);
+  IntersectionAdder ia(li);
+  MCIndexNoder inoder(&ia);
+#endif
 
 	ScaledNoder noder(inoder, fixedPM.getScale());
 
@@ -214,19 +244,3 @@ BufferOp::bufferFixedPrecision(const PrecisionModel& fixedPM)
 } // namespace geos.operation
 } // namespace geos
 
-/**********************************************************************
- * $Log$
- * Revision 1.52  2006/05/04 15:49:39  strk
- * updated all Geometry::getDimension() methods to return Dimension::DimensionType (closes bug#93)
- *
- * Revision 1.51  2006/05/03 10:26:56  strk
- * Fixed misuse of precision model in noder (bufferFixedPrecision)
- *
- * Revision 1.50  2006/03/23 09:17:19  strk
- * precision.h header split, minor optimizations
- *
- * Revision 1.49  2006/03/15 18:56:30  strk
- * Temporary hack to avoid snapround:: Noders (still using ScaledNoder wrapper)
- * to allow for buffer_snapround.xml test to succeed
- **********************************************************************/
-
diff --git a/src/operation/buffer/Makefile.in b/src/operation/buffer/Makefile.in
index f03e0a9..56c521b 100644
--- a/src/operation/buffer/Makefile.in
+++ b/src/operation/buffer/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -618,10 +618,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/distance/Makefile.in b/src/operation/distance/Makefile.in
index 6be785a..16bce80 100644
--- a/src/operation/distance/Makefile.in
+++ b/src/operation/distance/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -593,10 +593,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/linemerge/Makefile.in b/src/operation/linemerge/Makefile.in
index 22325c5..7a3efc8 100644
--- a/src/operation/linemerge/Makefile.in
+++ b/src/operation/linemerge/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -597,10 +597,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/overlay/Makefile.in b/src/operation/overlay/Makefile.in
index 297f011..b40bf6d 100644
--- a/src/operation/overlay/Makefile.in
+++ b/src/operation/overlay/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -672,10 +672,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/overlay/OverlayNodeFactory.cpp b/src/operation/overlay/OverlayNodeFactory.cpp
index 1f7ee9b..ef35282 100644
--- a/src/operation/overlay/OverlayNodeFactory.cpp
+++ b/src/operation/overlay/OverlayNodeFactory.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: OverlayNodeFactory.cpp 2564 2009-06-08 16:09:51Z strk $
+ * $Id: OverlayNodeFactory.cpp 3545 2011-12-12 15:04:20Z hobu $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -28,8 +28,6 @@ namespace geos {
 namespace operation { // geos.operation
 namespace overlay { // geos.operation.overlay
 
-static const OverlayNodeFactory onf;
-
 Node*
 OverlayNodeFactory::createNode(const geom::Coordinate &coord) const
 {
@@ -39,6 +37,7 @@ OverlayNodeFactory::createNode(const geom::Coordinate &coord) const
 const NodeFactory &
 OverlayNodeFactory::instance() 
 {
+  static OverlayNodeFactory onf;
 	return onf;
 }
 
diff --git a/src/operation/overlay/snap/GeometrySnapper.cpp b/src/operation/overlay/snap/GeometrySnapper.cpp
index 73944f8..a0a1971 100644
--- a/src/operation/overlay/snap/GeometrySnapper.cpp
+++ b/src/operation/overlay/snap/GeometrySnapper.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: GeometrySnapper.cpp 3225 2011-02-21 14:02:37Z strk $
+ * $Id: GeometrySnapper.cpp 3538 2011-12-09 10:44:54Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -193,7 +193,7 @@ void
 GeometrySnapper::snap(const geom::Geometry& g0,
                       const geom::Geometry& g1,
                       double snapTolerance,
-                      GeometrySnapper::GeomPtrPair& snapGeom)
+                      geom::GeomPtrPair& snapGeom)
 {
 	GeometrySnapper snapper0(g0);
 	snapGeom.first = snapper0.snapTo(g1, snapTolerance);
diff --git a/src/operation/overlay/snap/LineStringSnapper.cpp b/src/operation/overlay/snap/LineStringSnapper.cpp
index 23ee5f0..9dff353 100644
--- a/src/operation/overlay/snap/LineStringSnapper.cpp
+++ b/src/operation/overlay/snap/LineStringSnapper.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: LineStringSnapper.cpp 3225 2011-02-21 14:02:37Z strk $
+ * $Id: LineStringSnapper.cpp 3554 2011-12-16 14:12:20Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -65,6 +65,10 @@ LineStringSnapper::snapVertices(geom::CoordinateList& srcCoords,
 {
   if ( srcCoords.empty() ) return;
 
+#if GEOS_DEBUG
+cerr << "Snapping vertices of: " << srcCoords << endl;
+#endif
+
 	using geom::CoordinateList;
 
 	geom::Coordinate::ConstVect::const_iterator not_found = snapPts.end();
@@ -87,7 +91,7 @@ cerr << "Checking for a snap for source coordinate " << srcPt << endl;
 		if ( found == not_found )
 		{	// no snaps found (or no need to snap)
 #if GEOS_DEBUG
-cerr << "No snap found" << endl;
+cerr << " no snap found" << endl;
 #endif
 			continue;
 		}
@@ -96,14 +100,14 @@ cerr << "No snap found" << endl;
 		const Coordinate& snapPt = *(*found);
 		
 #if GEOS_DEBUG
-cerr << "Found snap point " << snapPt << endl;
+cerr << " found snap point " << snapPt << endl;
 #endif
 
 		// update src with snap pt
 		*it = snapPt;
 
 #if GEOS_DEBUG
-cerr << "Source point became " << srcPt << endl;
+cerr << " source point became " << srcPt << endl;
 #endif
 
 		// keep final closing point in synch (rings only)
@@ -130,10 +134,6 @@ LineStringSnapper::findSnapForVertex(const Coordinate& pt,
 		assert(*it);
 		const Coordinate& snapPt = *(*it);
 
-#if GEOS_DEBUG
-cerr << " misuring distance between snap point " << snapPt << " and source point " << pt << endl;
-#endif
-
 		// shouldn't we look for *all* segments to be snapped rather then a single one?
 		if ( snapPt.equals2D(pt) )
 		{
@@ -145,17 +145,21 @@ cerr << " points are equal, returning not-found " << endl;
 		}
 
 		double dist = snapPt.distance(pt);
+#if GEOS_DEBUG
+cerr << " distance from snap point " << snapPt << ": " << dist << endl;
+#endif
+
 		if ( dist < snapTolerance )
 		{
 #if GEOS_DEBUG
-cerr << " points are within distance (" << dist << ") returning iterator to snap point" << endl;
+cerr << " snap point within tolerance, returning iterator to it" << endl;
 #endif
 			return it;
 		}
 	}
 
 #if GEOS_DEBUG
-cerr << " No snap point within distance, returning not-found" << endl;
+cerr << " no snap point within distance, returning not-found" << endl;
 #endif
 
 	return end;
@@ -168,13 +172,13 @@ LineStringSnapper::snapSegments(geom::CoordinateList& srcCoords,
 			const geom::Coordinate::ConstVect& snapPts)
 {
 
-#if GEOS_DEBUG
-cerr << " Snapping segment from: " << srcCoords << endl;
-#endif
-
   // nothing to do if there are no source coords..
   if ( srcCoords.empty() ) return;
 
+#if GEOS_DEBUG
+cerr << "Snapping segments of: " << srcCoords << endl;
+#endif
+
 	for ( Coordinate::ConstVect::const_iterator
 			it=snapPts.begin(), end=snapPts.end();
 			it != end;
@@ -235,7 +239,7 @@ LineStringSnapper::findSegmentToSnap(
 		seg.p1 = *to;
 
 #if GEOS_DEBUG
-cerr << " Checking segment " << seg << " for snapping against point " << snapPt << endl;
+cerr << " Checking segment " << seg << endl;
 #endif
 
 		/**                                                                              * Check if the snap pt is equal to one of
@@ -248,28 +252,45 @@ cerr << " Checking segment " << seg << " for snapping against point " << snapPt
 		if ( seg.p0.equals2D(snapPt) || seg.p1.equals2D(snapPt) )
 		{
 
+			if (allowSnappingToSourceVertices) {
 #if GEOS_DEBUG
-cerr << " One of segment endpoints equal snap point, returning too_far" << endl;
+cerr << "   snap point matches a segment endpoint, checking next segment"
+     << endl;
 #endif
-			if (allowSnappingToSourceVertices) {
 				continue;
 			} else {
+#if GEOS_DEBUG
+cerr << "   snap point matches a segment endpoint, giving up seek" << endl;
+#endif
 				return too_far;
 			}
 		}
 
 		double dist = seg.distance(snapPt);
+		if ( dist < snapTolerance ) {
+      if ( dist < minDist ) {
 #if GEOS_DEBUG
-cerr << " dist=" << dist << " minDist=" << minDist << " snapTolerance=" << snapTolerance << endl;
+cerr << "   snap point distance " << dist << " within tolerance "
+     << snapTolerance << " and closer than previous candidate " << minDist
+     << endl;
 #endif
-		if ( dist < minDist && dist < snapTolerance )
-		{
+        match = from;
+        minDist = dist;
+      }
 #if GEOS_DEBUG
-cerr << " Segment/snapPt distance within tolerance and closer then previous match (" << dist << ") " << endl;
+      else {
+cerr << "   snap point distance " << dist << " within tolerance "
+     << snapTolerance << " but not closer than previous candidate " << minDist
+     << endl;
+      }
+#endif
+    }
+#if GEOS_DEBUG
+    else {
+cerr << "   snap point distance " << dist << " bigger than tolerance "
+     << snapTolerance << endl;
+    }
 #endif
-			match = from;
-			minDist = dist;
-		}
 	}
 
 	return match;
diff --git a/src/operation/overlay/snap/SnapOverlayOp.cpp b/src/operation/overlay/snap/SnapOverlayOp.cpp
index e77703e..ba45bb2 100644
--- a/src/operation/overlay/snap/SnapOverlayOp.cpp
+++ b/src/operation/overlay/snap/SnapOverlayOp.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: SnapOverlayOp.cpp 3225 2011-02-21 14:02:37Z strk $
+ * $Id: SnapOverlayOp.cpp 3538 2011-12-09 10:44:54Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -52,7 +52,7 @@ SnapOverlayOp::computeSnapTolerance()
 auto_ptr<Geometry>
 SnapOverlayOp::getResultGeometry(OverlayOp::OpCode opCode)
 {
-	GeomPtrPair prepGeom;
+	geom::GeomPtrPair prepGeom;
 	snap(prepGeom);
 	GeomPtr result ( OverlayOp::overlayOp(prepGeom.first.get(),
 	                                      prepGeom.second.get(), opCode) );
@@ -62,9 +62,9 @@ SnapOverlayOp::getResultGeometry(OverlayOp::OpCode opCode)
 
 /* private */
 void
-SnapOverlayOp::snap(SnapOverlayOp::GeomPtrPair& snapGeom)
+SnapOverlayOp::snap(geom::GeomPtrPair& snapGeom)
 {
-	GeomPtrPair remGeom;
+	geom::GeomPtrPair remGeom;
 	removeCommonBits(geom0, geom1, remGeom);
 
 	GeometrySnapper::snap(*remGeom.first, *remGeom.second,
@@ -86,7 +86,7 @@ SnapOverlayOp::snap(SnapOverlayOp::GeomPtrPair& snapGeom)
 void
 SnapOverlayOp::removeCommonBits(const geom::Geometry& geom0,
                                 const geom::Geometry& geom1,
-				SnapOverlayOp::GeomPtrPair& remGeom)
+				geom::GeomPtrPair& remGeom)
 {
 	cbr.reset(new precision::CommonBitsRemover());
 	cbr->add(&geom0);
diff --git a/src/operation/polygonize/Makefile.in b/src/operation/polygonize/Makefile.in
index 7bf4dc6..0d8c780 100644
--- a/src/operation/polygonize/Makefile.in
+++ b/src/operation/polygonize/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -595,10 +595,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/predicate/Makefile.in b/src/operation/predicate/Makefile.in
index 9ab1f74..648a3e4 100644
--- a/src/operation/predicate/Makefile.in
+++ b/src/operation/predicate/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -441,10 +441,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/relate/Makefile.in b/src/operation/relate/Makefile.in
index 112e28b..b71d1e8 100644
--- a/src/operation/relate/Makefile.in
+++ b/src/operation/relate/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -601,10 +601,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/sharedpaths/Makefile.in b/src/operation/sharedpaths/Makefile.in
index b8da1b5..46661b3 100644
--- a/src/operation/sharedpaths/Makefile.in
+++ b/src/operation/sharedpaths/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -584,10 +584,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/union/CascadedPolygonUnion.cpp b/src/operation/union/CascadedPolygonUnion.cpp
index 8df3e1d..2cb5611 100644
--- a/src/operation/union/CascadedPolygonUnion.cpp
+++ b/src/operation/union/CascadedPolygonUnion.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: CascadedPolygonUnion.cpp 3192 2011-02-10 13:48:34Z strk $
+ * $Id: CascadedPolygonUnion.cpp 3532 2011-12-09 08:46:21Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -14,7 +14,7 @@
  *
  **********************************************************************
  *
- * Last port: operation/union/CascadedPolygonUnion.java r320 (JTS-1.12)
+ * Last port: operation/union/CascadedPolygonUnion.java r487 (JTS-1.12+)
  *
  **********************************************************************/
 
@@ -24,6 +24,7 @@
 #include <geos/geom/Polygon.h>
 #include <geos/geom/MultiPolygon.h>
 #include <geos/geom/util/GeometryCombiner.h>
+#include <geos/geom/util/PolygonExtracter.h>
 #include <geos/index/strtree/STRtree.h>
 // std
 #include <cassert>
@@ -212,7 +213,36 @@ CascadedPolygonUnion::extractByEnvelope(geom::Envelope const& env,
 geom::Geometry* 
 CascadedPolygonUnion::unionActual(geom::Geometry* g0, geom::Geometry* g1)
 {
-    return g0->Union(g1);
+    return restrictToPolygons(std::auto_ptr<geom::Geometry>(g0->Union(g1))).release();
+}
+
+std::auto_ptr<geom::Geometry>
+CascadedPolygonUnion::restrictToPolygons(std::auto_ptr<geom::Geometry> g)
+{
+    using namespace geom;
+    using namespace std;
+
+    if ( dynamic_cast<Polygonal*>(g.get()) ) {
+      return g;
+    }
+
+    Polygon::ConstVect polygons;
+    util::PolygonExtracter::getPolygons(*g, polygons);
+
+    if (polygons.size() == 1)
+      return std::auto_ptr<Geometry>(polygons[0]->clone());
+
+    typedef vector<Geometry *> GeomVect;
+
+    Polygon::ConstVect::size_type n = polygons.size();
+    GeomVect* newpolys = new GeomVect(n);
+    for (Polygon::ConstVect::size_type i=0; i<n; ++i) {
+        (*newpolys)[i] = polygons[i]->clone();
+    }
+    return auto_ptr<Geometry>(
+      g->getFactory()->createMultiPolygon(newpolys)
+    );
+
 }
 
 } // namespace geos.operation.union
diff --git a/src/operation/union/Makefile.in b/src/operation/union/Makefile.in
index bdb0d13..3b32beb 100644
--- a/src/operation/union/Makefile.in
+++ b/src/operation/union/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -592,10 +592,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/operation/union/UnaryUnionOp.cpp b/src/operation/union/UnaryUnionOp.cpp
index 852c49c..622d4b8 100644
--- a/src/operation/union/UnaryUnionOp.cpp
+++ b/src/operation/union/UnaryUnionOp.cpp
@@ -83,13 +83,18 @@ UnaryUnionOp::Union()
 
   GeomAutoPtr unionLines;
   if (!lines.empty()) {
-#if 0
-      GeomAutoPtr lineGeom = geomFact->buildGeometry( lines.begin(),
-                                                      lines.end()    );
-      unionLines = unionNoOpt(*lineGeom);
-#endif
+      /* JTS compatibility NOTE:
+       * we use cascaded here for robustness [1]
+       * but also add a final unionNoOpt step to deal with
+       * self-intersecting lines [2]
+       *
+       * [1](http://trac.osgeo.org/geos/ticket/392
+       * [2](http://trac.osgeo.org/geos/ticket/482
+       *
+       */
       unionLines.reset( CascadedUnion::Union( lines.begin(),
                                               lines.end()   ) );
+      unionLines = unionNoOpt(*unionLines);
   }
 
   GeomAutoPtr unionPolygons;
diff --git a/src/operation/valid/Makefile.in b/src/operation/valid/Makefile.in
index 231385a..3d85018 100644
--- a/src/operation/valid/Makefile.in
+++ b/src/operation/valid/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -619,10 +619,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/planargraph/Makefile.in b/src/planargraph/Makefile.in
index aa5d175..7ddf857 100644
--- a/src/planargraph/Makefile.in
+++ b/src/planargraph/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -608,10 +608,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/precision/Makefile.in b/src/precision/Makefile.in
index df39282..cc87b70 100644
--- a/src/precision/Makefile.in
+++ b/src/precision/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -595,10 +595,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/simplify/Makefile.in b/src/simplify/Makefile.in
index 9d764c3..f154072 100644
--- a/src/simplify/Makefile.in
+++ b/src/simplify/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -603,10 +603,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/src/simplify/TaggedLineString.cpp b/src/simplify/TaggedLineString.cpp
index 90df641..4da1ef0 100644
--- a/src/simplify/TaggedLineString.cpp
+++ b/src/simplify/TaggedLineString.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: TaggedLineString.cpp 3275 2011-03-26 14:02:32Z strk $
+ * $Id: TaggedLineString.cpp 3574 2012-03-22 08:34:59Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -79,16 +79,21 @@ TaggedLineString::init()
 	     << endl;
 #endif
 
-	segs.reserve(pts->size()-1);
-
-	for (std::size_t i=0, n=pts->size()-1; i<n; i++)
+	if ( pts->size() )
 	{
-		TaggedLineSegment* seg = new TaggedLineSegment(
-				pts->getAt(i),
-				pts->getAt(i+1),
-				parentLine, i);
 
-		segs.push_back(seg);
+		segs.reserve(pts->size()-1);
+
+		for (std::size_t i=0, n=pts->size()-1; i<n; i++)
+		{
+			TaggedLineSegment* seg = new TaggedLineSegment(
+					pts->getAt(i),
+					pts->getAt(i+1),
+					parentLine, i);
+
+			segs.push_back(seg);
+		}
+
 	}
 
 #if GEOS_DEBUG
@@ -157,18 +162,18 @@ TaggedLineString::extractCoordinates(
 
 	std::size_t i=0, size=segs.size();
 
-	assert(size);
+	if ( size ) {
+		for (; i<size; i++)
+		{
+			TaggedLineSegment* seg = segs[i];
+			assert(seg);
+			pts->push_back(seg->p0);
+		}
 
-	for (; i<size; i++)
-	{
-		TaggedLineSegment* seg = segs[i];
-		assert(seg);
-		pts->push_back(seg->p0);
+		// add last point
+		pts->push_back(segs[size-1]->p1);
 	}
 
-	// add last point
-	pts->push_back(segs[size-1]->p1);
-
 	return pts;
 }
 
diff --git a/src/simplify/TaggedLineStringSimplifier.cpp b/src/simplify/TaggedLineStringSimplifier.cpp
index 87841a3..4f7b0fc 100644
--- a/src/simplify/TaggedLineStringSimplifier.cpp
+++ b/src/simplify/TaggedLineStringSimplifier.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: TaggedLineStringSimplifier.cpp 3275 2011-03-26 14:02:32Z strk $
+ * $Id: TaggedLineStringSimplifier.cpp 3574 2012-03-22 08:34:59Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -76,6 +76,7 @@ TaggedLineStringSimplifier::simplify(TaggedLineString* nLine)
 	     << std::endl;
 #endif
 
+	if ( ! linePts->size() ) return;
 	simplifySection(0, linePts->size() - 1, 0);
 
 }
diff --git a/src/util/Makefile.in b/src/util/Makefile.in
index 966c8cc..fa01374 100644
--- a/src/util/Makefile.in
+++ b/src/util/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -592,10 +592,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/swig/Makefile.in b/swig/Makefile.in
index 6da0681..44d1dbb 100644
--- a/swig/Makefile.in
+++ b/swig/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -528,10 +528,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/swig/geos.i b/swig/geos.i
index 6df6ef1..469e0a1 100644
--- a/swig/geos.i
+++ b/swig/geos.i
@@ -29,16 +29,16 @@
    the whole c api. */
 #define GEOS_VERSION_MAJOR 3
 #define GEOS_VERSION_MINOR 3
-#define GEOS_VERSION_PATCH 1
-#define GEOS_VERSION "3.3.1"
+#define GEOS_VERSION_PATCH 3
+#define GEOS_VERSION "3.3.3"
 #define GEOS_JTS_PORT "1.12.0"
 
 #define GEOS_CAPI_VERSION_MAJOR 1
 #define GEOS_CAPI_VERSION_MINOR 7
-#define GEOS_CAPI_VERSION_PATCH 1
+#define GEOS_CAPI_VERSION_PATCH 4
 #define GEOS_CAPI_FIRST_INTERFACE GEOS_CAPI_VERSION_MAJOR 
 #define GEOS_CAPI_LAST_INTERFACE (GEOS_CAPI_VERSION_MAJOR+GEOS_CAPI_VERSION_MINOR)
-#define GEOS_CAPI_VERSION "3.3.1-CAPI-1.7.1"
+#define GEOS_CAPI_VERSION "3.3.3-CAPI-1.7.4"
 
 /* Supported geometry types */
 enum GEOSGeomTypes { 
diff --git a/swig/python/Makefile.in b/swig/python/Makefile.in
index 95d6558..7387f63 100644
--- a/swig/python/Makefile.in
+++ b/swig/python/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -77,6 +77,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(pkgpyexecdir)" \
 	"$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(pythondir)"
 LTLIBRARIES = $(pkgpyexec_LTLIBRARIES)
@@ -114,6 +120,7 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	installcheck-recursive installdirs-recursive pdf-recursive \
 	ps-recursive uninstall-recursive
 am__pkgpython_PYTHON_DIST = geos.py
+am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile)
 py_compile = $(top_srcdir)/py-compile
 DATA = $(python_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -472,11 +479,8 @@ install-pkgpythonPYTHON: $(pkgpython_PYTHON)
 	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgpythondir)" || exit $$?; \
 	done || exit $$?; \
 	if test -n "$$dlist"; then \
-	  if test -z "$(DESTDIR)"; then \
-	    PYTHON=$(PYTHON) $(py_compile) --basedir "$(pkgpythondir)" $$dlist; \
-	  else \
-	    PYTHON=$(PYTHON) $(py_compile) --destdir "$(DESTDIR)" --basedir "$(pkgpythondir)" $$dlist; \
-	  fi; \
+	  $(am__py_compile) --destdir "$(DESTDIR)" \
+	                    --basedir "$(pkgpythondir)" $$dlist; \
 	else :; fi
 
 uninstall-pkgpythonPYTHON:
@@ -484,14 +488,14 @@ uninstall-pkgpythonPYTHON:
 	@list='$(pkgpython_PYTHON)'; test -n "$(pkgpythondir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
 	test -n "$$files" || exit 0; \
+	dir='$(DESTDIR)$(pkgpythondir)'; \
 	filesc=`echo "$$files" | sed 's|$$|c|'`; \
 	fileso=`echo "$$files" | sed 's|$$|o|'`; \
-	echo " ( cd '$(DESTDIR)$(pkgpythondir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pkgpythondir)" && rm -f $$files || exit $$?; \
-	echo " ( cd '$(DESTDIR)$(pkgpythondir)' && rm -f" $$filesc ")"; \
-	cd "$(DESTDIR)$(pkgpythondir)" && rm -f $$filesc || exit $$?; \
-	echo " ( cd '$(DESTDIR)$(pkgpythondir)' && rm -f" $$fileso ")"; \
-	cd "$(DESTDIR)$(pkgpythondir)" && rm -f $$fileso
+	st=0; \
+	for files in "$$files" "$$filesc" "$$fileso"; do \
+	  $(am__uninstall_files_from_dir) || st=$$?; \
+	done; \
+	exit $$st
 install-pythonDATA: $(python_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(pythondir)" || $(MKDIR_P) "$(DESTDIR)$(pythondir)"
@@ -509,9 +513,7 @@ uninstall-pythonDATA:
 	@$(NORMAL_UNINSTALL)
 	@list='$(python_DATA)'; test -n "$(pythondir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pythondir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pythondir)" && rm -f $$files
+	dir='$(DESTDIR)$(pythondir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -726,10 +728,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/swig/python/tests/Makefile.in b/swig/python/tests/Makefile.in
index 0263c32..6f25234 100644
--- a/swig/python/tests/Makefile.in
+++ b/swig/python/tests/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -327,10 +327,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/swig/ruby/Makefile.in b/swig/ruby/Makefile.in
index e359f09..f58064f 100644
--- a/swig/ruby/Makefile.in
+++ b/swig/ruby/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -75,6 +75,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(rubyextensiondirdir)"
 LTLIBRARIES = $(rubyextensiondir_LTLIBRARIES)
 @ENABLE_RUBY_TRUE at geos_la_DEPENDENCIES =  \
@@ -666,10 +672,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/swig/ruby/test/Makefile.in b/swig/ruby/test/Makefile.in
index cce5a3e..7acb090 100644
--- a/swig/ruby/test/Makefile.in
+++ b/swig/ruby/test/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -339,10 +339,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/Makefile.in b/tests/Makefile.in
index cb19910..b086c33 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -528,10 +528,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/bigtest/Makefile.in b/tests/bigtest/Makefile.in
index d3bb366..1180cd9 100644
--- a/tests/bigtest/Makefile.in
+++ b/tests/bigtest/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -454,10 +454,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/geostest/Makefile.in b/tests/geostest/Makefile.in
index 847f6a9..b20c37c 100644
--- a/tests/geostest/Makefile.in
+++ b/tests/geostest/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -440,10 +440,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/perf/Makefile.in b/tests/perf/Makefile.in
index 3f34b4c..217136f 100644
--- a/tests/perf/Makefile.in
+++ b/tests/perf/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -523,10 +523,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/perf/capi/Makefile.in b/tests/perf/capi/Makefile.in
index b5ee1be..b3de4e8 100644
--- a/tests/perf/capi/Makefile.in
+++ b/tests/perf/capi/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -433,10 +433,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/perf/operation/Makefile.in b/tests/perf/operation/Makefile.in
index 809b3ef..1838c5d 100644
--- a/tests/perf/operation/Makefile.in
+++ b/tests/perf/operation/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -523,10 +523,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/perf/operation/buffer/Makefile.in b/tests/perf/operation/buffer/Makefile.in
index caaa49e..e5a5b81 100644
--- a/tests/perf/operation/buffer/Makefile.in
+++ b/tests/perf/operation/buffer/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -435,10 +435,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/perf/operation/predicate/Makefile.in b/tests/perf/operation/predicate/Makefile.in
index 0a22856..d8b819f 100644
--- a/tests/perf/operation/predicate/Makefile.in
+++ b/tests/perf/operation/predicate/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -434,10 +434,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/thread/Makefile.in b/tests/thread/Makefile.in
index ec476b5..61422e7 100644
--- a/tests/thread/Makefile.in
+++ b/tests/thread/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -445,10 +445,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am
index 2d5900b..30d9c7a 100644
--- a/tests/unit/Makefile.am
+++ b/tests/unit/Makefile.am
@@ -1,4 +1,4 @@
-# $Id: Makefile.am 3464 2011-09-12 07:39:19Z strk $
+# $Id: Makefile.am 3527 2011-12-06 17:26:09Z strk $
 #
 # This file is part of project GEOS (http://trac.osgeo.org/geos/) 
 #
@@ -62,7 +62,7 @@ geos_unit_SOURCES = \
 	geom/MultiPolygonTest.cpp \
 	geom/PointTest.cpp \
 	geom/PolygonTest.cpp \
-  geom/PrecisionModelTest.cpp \
+	geom/PrecisionModelTest.cpp \
 	geom/prep/PreparedGeometryFactoryTest.cpp \
 	geom/TriangleTest.cpp \
 	geom/util/GeometryExtracterTest.cpp \
@@ -77,7 +77,9 @@ geos_unit_SOURCES = \
 	noding/NodedSegmentStringTest.cpp \
 	noding/SegmentNodeTest.cpp \
 	noding/SegmentPointComparatorTest.cpp \
+	noding/snapround/HotPixelTest.cpp \
 	operation/buffer/BufferOpTest.cpp \
+	operation/buffer/BufferParametersTest.cpp \
 	operation/distance/DistanceOpTest.cpp \
 	operation/IsSimpleOpTest.cpp \
 	operation/linemerge/LineMergerTest.cpp \
diff --git a/tests/unit/Makefile.in b/tests/unit/Makefile.in
index b3b66ac..d25abe9 100644
--- a/tests/unit/Makefile.in
+++ b/tests/unit/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -83,7 +83,8 @@ am_geos_unit_OBJECTS = geos_unit.$(OBJEXT) AngleTest.$(OBJEXT) \
 	WKTWriterTest.$(OBJEXT) LengthIndexedLineTest.$(OBJEXT) \
 	BasicSegmentStringTest.$(OBJEXT) \
 	NodedSegmentStringTest.$(OBJEXT) SegmentNodeTest.$(OBJEXT) \
-	SegmentPointComparatorTest.$(OBJEXT) BufferOpTest.$(OBJEXT) \
+	SegmentPointComparatorTest.$(OBJEXT) HotPixelTest.$(OBJEXT) \
+	BufferOpTest.$(OBJEXT) BufferParametersTest.$(OBJEXT) \
 	DistanceOpTest.$(OBJEXT) IsSimpleOpTest.$(OBJEXT) \
 	LineMergerTest.$(OBJEXT) LineSequencerTest.$(OBJEXT) \
 	FuzzyPointLocatorTest.$(OBJEXT) \
@@ -307,7 +308,7 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 
-# $Id: Makefile.am 3464 2011-09-12 07:39:19Z strk $
+# $Id: Makefile.am 3527 2011-12-06 17:26:09Z strk $
 #
 # This file is part of project GEOS (http://trac.osgeo.org/geos/) 
 #
@@ -363,7 +364,7 @@ geos_unit_SOURCES = \
 	geom/MultiPolygonTest.cpp \
 	geom/PointTest.cpp \
 	geom/PolygonTest.cpp \
-  geom/PrecisionModelTest.cpp \
+	geom/PrecisionModelTest.cpp \
 	geom/prep/PreparedGeometryFactoryTest.cpp \
 	geom/TriangleTest.cpp \
 	geom/util/GeometryExtracterTest.cpp \
@@ -378,7 +379,9 @@ geos_unit_SOURCES = \
 	noding/NodedSegmentStringTest.cpp \
 	noding/SegmentNodeTest.cpp \
 	noding/SegmentPointComparatorTest.cpp \
+	noding/snapround/HotPixelTest.cpp \
 	operation/buffer/BufferOpTest.cpp \
+	operation/buffer/BufferParametersTest.cpp \
 	operation/distance/DistanceOpTest.cpp \
 	operation/IsSimpleOpTest.cpp \
 	operation/linemerge/LineMergerTest.cpp \
@@ -479,6 +482,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AngleTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BasicSegmentStringTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BufferOpTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BufferParametersTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ByteOrderValuesTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CascadedPolygonUnionTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ConvexHullTest.Po at am__quote@
@@ -517,6 +521,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GeometryExtracterTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GeometryFactoryTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GeometrySnapperTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/HotPixelTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/InteriorPointAreaTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/IntersectionMatrixTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/IsSimpleOpTest.Po at am__quote@
@@ -1230,6 +1235,20 @@ SegmentPointComparatorTest.obj: noding/SegmentPointComparatorTest.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SegmentPointComparatorTest.obj `if test -f 'noding/SegmentPointComparatorTest.cpp'; then $(CYGPATH_W) 'noding/SegmentPointComparatorTest.cpp'; else $(CYGPATH_W) '$(srcdir)/noding/SegmentPointComparatorTest.cpp'; fi`
 
+HotPixelTest.o: noding/snapround/HotPixelTest.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT HotPixelTest.o -MD -MP -MF $(DEPDIR)/HotPixelTest.Tpo -c -o HotPixelTest.o `test -f 'noding/snapround/HotPixelTest.cpp' || echo '$(srcdir)/'`noding/snapround/HotPixelTest.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/HotPixelTest.Tpo $(DEPDIR)/HotPixelTest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='noding/snapround/HotPixelTest.cpp' object='HotPixelTest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o HotPixelTest.o `test -f 'noding/snapround/HotPixelTest.cpp' || echo '$(srcdir)/'`noding/snapround/HotPixelTest.cpp
+
+HotPixelTest.obj: noding/snapround/HotPixelTest.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT HotPixelTest.obj -MD -MP -MF $(DEPDIR)/HotPixelTest.Tpo -c -o HotPixelTest.obj `if test -f 'noding/snapround/HotPixelTest.cpp'; then $(CYGPATH_W) 'noding/snapround/HotPixelTest.cpp'; else $(CYGPATH_W) '$(srcdir)/noding/snapround/HotPixelTest.cpp'; fi`
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/HotPixelTest.Tpo $(DEPDIR)/HotPixelTest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='noding/snapround/HotPixelTest.cpp' object='HotPixelTest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o HotPixelTest.obj `if test -f 'noding/snapround/HotPixelTest.cpp'; then $(CYGPATH_W) 'noding/snapround/HotPixelTest.cpp'; else $(CYGPATH_W) '$(srcdir)/noding/snapround/HotPixelTest.cpp'; fi`
+
 BufferOpTest.o: operation/buffer/BufferOpTest.cpp
 @am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BufferOpTest.o -MD -MP -MF $(DEPDIR)/BufferOpTest.Tpo -c -o BufferOpTest.o `test -f 'operation/buffer/BufferOpTest.cpp' || echo '$(srcdir)/'`operation/buffer/BufferOpTest.cpp
 @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/BufferOpTest.Tpo $(DEPDIR)/BufferOpTest.Po
@@ -1244,6 +1263,20 @@ BufferOpTest.obj: operation/buffer/BufferOpTest.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BufferOpTest.obj `if test -f 'operation/buffer/BufferOpTest.cpp'; then $(CYGPATH_W) 'operation/buffer/BufferOpTest.cpp'; else $(CYGPATH_W) '$(srcdir)/operation/buffer/BufferOpTest.cpp'; fi`
 
+BufferParametersTest.o: operation/buffer/BufferParametersTest.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BufferParametersTest.o -MD -MP -MF $(DEPDIR)/BufferParametersTest.Tpo -c -o BufferParametersTest.o `test -f 'operation/buffer/BufferParametersTest.cpp' || echo '$(srcdir)/'`operation/buffer/BufferParametersTest.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/BufferParametersTest.Tpo $(DEPDIR)/BufferParametersTest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='operation/buffer/BufferParametersTest.cpp' object='BufferParametersTest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BufferParametersTest.o `test -f 'operation/buffer/BufferParametersTest.cpp' || echo '$(srcdir)/'`operation/buffer/BufferParametersTest.cpp
+
+BufferParametersTest.obj: operation/buffer/BufferParametersTest.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BufferParametersTest.obj -MD -MP -MF $(DEPDIR)/BufferParametersTest.Tpo -c -o BufferParametersTest.obj `if test -f 'operation/buffer/BufferParametersTest.cpp'; then $(CYGPATH_W) 'operation/buffer/BufferParametersTest.cpp'; else $(CYGPATH_W) '$(srcdir)/operation/buffer/BufferParametersTest.cpp'; fi`
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/BufferParametersTest.Tpo $(DEPDIR)/BufferParametersTest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='operation/buffer/BufferParametersTest.cpp' object='BufferParametersTest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BufferParametersTest.obj `if test -f 'operation/buffer/BufferParametersTest.cpp'; then $(CYGPATH_W) 'operation/buffer/BufferParametersTest.cpp'; else $(CYGPATH_W) '$(srcdir)/operation/buffer/BufferParametersTest.cpp'; fi`
+
 DistanceOpTest.o: operation/distance/DistanceOpTest.cpp
 @am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DistanceOpTest.o -MD -MP -MF $(DEPDIR)/DistanceOpTest.Tpo -c -o DistanceOpTest.o `test -f 'operation/distance/DistanceOpTest.cpp' || echo '$(srcdir)/'`operation/distance/DistanceOpTest.cpp
 @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/DistanceOpTest.Tpo $(DEPDIR)/DistanceOpTest.Po
@@ -1943,14 +1976,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -2000,10 +2034,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/unit/capi/GEOSisValidDetailTest.cpp b/tests/unit/capi/GEOSisValidDetailTest.cpp
index b8a26eb..bbd2921 100644
--- a/tests/unit/capi/GEOSisValidDetailTest.cpp
+++ b/tests/unit/capi/GEOSisValidDetailTest.cpp
@@ -6,6 +6,7 @@
 // geos
 #include <geos_c.h>
 // std
+#include <cctype>
 #include <cstdarg>
 #include <cstdio>
 #include <cstdlib>
@@ -54,6 +55,15 @@ namespace tut
           return ret;
         }
 
+        void strToUpper(std::string &str)
+        {
+            using std::toupper;
+            using std::string;
+            
+            for(string::size_type i = 0, len = str.size(); i < len; ++i)
+                str[i] = static_cast<string::value_type>(toupper(str[i]));
+        }
+
         ~test_capiisvaliddetail_data()
         {
             GEOSGeom_destroy(geom_);
@@ -105,9 +115,11 @@ namespace tut
       geom_ = GEOSGeomFromWKT("LINESTRING(0 0, 10 0, NaN -5)");
       ensure(0 != geom_);
       int r = GEOSisValidDetail(geom_, 0, &reason_, &loc_);
+      std::string wkt = toWKT(loc_);
+      strToUpper(wkt);
       ensure_equals(r, 0); // invalid
       ensure_equals(std::string(reason_), std::string("Invalid Coordinate"));
-      ensure_equals(toWKT(loc_), "POINT (nan -5)");
+      ensure_equals(wkt, "POINT (NAN -5)");
     }
 
     // Self intersecting ring forming hole
diff --git a/tests/unit/noding/snapround/HotPixelTest.cpp b/tests/unit/noding/snapround/HotPixelTest.cpp
new file mode 100644
index 0000000..0e698e1
--- /dev/null
+++ b/tests/unit/noding/snapround/HotPixelTest.cpp
@@ -0,0 +1,95 @@
+// 
+// Test Suite for geos::noding::snapround::HotPixel class.
+
+#include <tut.hpp>
+// geos
+#include <geos/algorithm/LineIntersector.h>
+#include <geos/noding/snapround/HotPixel.h>
+#include <geos/geom/Coordinate.h>
+#include <geos/geom/Envelope.h>
+// std
+#include <memory>
+
+namespace tut
+{
+  //
+  // Test Group
+  //
+
+  // Common data used by all tests
+  struct test_hotpixel_data
+  {
+
+    typedef geos::geom::Coordinate Coordinate;
+    typedef geos::geom::Envelope Envelope;
+    typedef geos::algorithm::LineIntersector LineIntersector;
+    typedef geos::noding::snapround::HotPixel HotPixel;
+
+    test_hotpixel_data() {}
+  };
+
+  typedef test_group<test_hotpixel_data> group;
+  typedef group::object object;
+
+  group test_hotpixel_group("geos::noding::snapround::HotPixel");
+
+  //
+  // Test Cases
+  //
+
+  // Test with scaleFactor=1
+  template<>
+  template<>
+  void object::test<1>()
+  {
+
+    LineIntersector li;
+    Coordinate pt(10, 10);
+    HotPixel hp(pt, 1, li);
+
+    ensure_equals(hp.getCoordinate(), pt);
+
+    const Envelope& env = hp.getSafeEnvelope();
+    ensure_equals(env.toString(), "Env[9.25:10.75,9.25:10.75]");
+
+    Coordinate p0(0, 10);
+    Coordinate p1(20, 10);
+    ensure( "hp.intersects 0 10, 20 10", hp.intersects(p0, p1) );
+
+    p1.y = 11; // intersection point within 0.75 distance
+    ensure( "hp.intersects(0 10, 20 11)", hp.intersects(p0, p1));
+
+    p1.y = 20;
+    ensure_not( "!hp.intersects(0 10, 20 20)", hp.intersects(p0, p1));
+
+  }
+
+  // Test with scaleFactor=10
+  // See http://trac.osgeo.org/geos/ticket/498
+  template<>
+  template<>
+  void object::test<2>()
+  {
+
+    LineIntersector li;
+    Coordinate pt(10, 10);
+    HotPixel hp(pt, 10, li);
+
+    ensure_equals(hp.getCoordinate(), pt);
+
+    const Envelope& env = hp.getSafeEnvelope();
+    ensure_equals(env.toString(), "Env[9.925:10.075,9.925:10.075]");
+
+    Coordinate p0(0, 10);
+    Coordinate p1(20, 10);
+    ensure( "hp.intersects 0 10, 20 10", hp.intersects(p0, p1) );
+
+    p1.y = 11; // intersection point not within 0.075 distance
+    ensure_not( "hp.intersects(0 10, 20 11)", hp.intersects(p0, p1));
+
+  }
+
+  // TODO: test addSnappedNode !
+
+
+} // namespace tut
diff --git a/tests/unit/operation/buffer/BufferOpTest.cpp b/tests/unit/operation/buffer/BufferOpTest.cpp
index 782e157..bdc4639 100644
--- a/tests/unit/operation/buffer/BufferOpTest.cpp
+++ b/tests/unit/operation/buffer/BufferOpTest.cpp
@@ -1,4 +1,4 @@
-// $Id: BufferOpTest.cpp 2809 2009-12-06 01:05:24Z mloskot $
+// $Id: BufferOpTest.cpp 3537 2011-12-09 10:12:04Z strk $
 // 
 // Test Suite for geos::operation::buffer::BufferOp class.
 
@@ -270,5 +270,49 @@ namespace tut
         ensure(gBuffer->getNumPoints() >= std::size_t(5));
     }
 
+    // Test for ticket #473
+    template<>
+    template<>
+    void object::test<10>()
+    {
+        using geos::operation::buffer::BufferOp;
+        using geos::operation::buffer::BufferParameters;
+
+        std::string wkt0("\
+MULTILINESTRING(  \
+ (-22720.6801580484 130376.223341197, \
+  -22620.6136206117 130339.222540348, \
+  -22620.6133224902 130339.333510463), \
+ (-22720.3807106115 130487.193473695, \
+  -22620.3154956134 130450.192663993, \
+  -22620.3151974850 130450.303634126), \
+ (-22620.6133224902 130339.333510463, -22620.6127262471 130339.555450692),  \
+ (-22620.1376011539 130450.303157004, -22620.3151974850 130450.303634126),  \
+ (-22620.3151974850 130450.303634126, -22620.3146012281 130450.525574392),  \
+ (-21480.3713729115 130150.471377565, \
+  -21481.6134583498 130150.918429232, \
+  -21482.5899891895 130151.031891269, \
+  -21480.9946803241 130149.807142948),  \
+ (-21477.6185334698 130150.464355720,\
+  -21478.0611246018 130151.020338484,  \
+  -21377.8977465929 130114.034129489)  \
+)  \
+      ");
+
+        GeomPtr g0(wktreader.read(wkt0));
+
+        BufferParameters params(8, BufferParameters::CAP_SQUARE,
+                              BufferParameters::JOIN_MITRE,
+                              1.0);
+        const double distance = 5.0;
+        BufferOp op(g0.get(), params);
+        GeomPtr gBuffer(op.getResultGeometry(distance));
+
+        // We're basically only interested an rough sense of a
+        // meaningful result.
+        ensure_equals(gBuffer->getNumPoints(), std::size_t(47));
+        ensure_equals(int(gBuffer->getArea()), 3520);
+    }
+
 } // namespace tut
 
diff --git a/tests/unit/operation/buffer/BufferParametersTest.cpp b/tests/unit/operation/buffer/BufferParametersTest.cpp
new file mode 100644
index 0000000..dc34f9f
--- /dev/null
+++ b/tests/unit/operation/buffer/BufferParametersTest.cpp
@@ -0,0 +1,203 @@
+// 
+// Test Suite for geos::operation::buffer::BufferParameters class.
+
+// tut
+#include <tut.hpp>
+// geos
+#include <geos/operation/buffer/BufferParameters.h>
+#include <geos/platform.h>
+// std
+#include <memory>
+
+namespace tut
+{
+    //
+    // Test Group
+    //
+
+    // Common data used by tests
+    struct test_bufferparameters_data
+    {
+        typedef geos::operation::buffer::BufferParameters BufferParameters;
+
+        test_bufferparameters_data() { }
+
+    private:
+        // noncopyable
+        test_bufferparameters_data(test_bufferparameters_data const& other);
+        test_bufferparameters_data& operator=(test_bufferparameters_data const& rhs);
+    };
+
+    typedef test_group<test_bufferparameters_data> group;
+    typedef group::object object;
+
+    group test_bufferparameters_group("geos::operation::buffer::BufferParameters");
+
+    //
+    // Test Cases
+    //
+
+    // Default constructor
+    template<>
+    template<>
+    void object::test<1>()
+    {
+      BufferParameters bp;
+
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_ROUND );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_ROUND );
+      ensure_equals( bp.getMitreLimit(), 5.0 );
+      ensure_equals( bp.getQuadrantSegments(), int(8) );
+      ensure( ! bp.isSingleSided() );
+    }
+
+    // Constructor with single integer argument
+    template<>
+    template<>
+    void object::test<2>()
+    {
+      BufferParameters bp(16);
+
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_ROUND );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_ROUND );
+      ensure_equals( bp.getMitreLimit(), 5.0 );
+      ensure_equals( bp.getQuadrantSegments(), int(16) );
+      ensure( ! bp.isSingleSided() );
+    }
+
+    // Constructor with quadrantSegments and EndCapStyle
+    template<>
+    template<>
+    void object::test<3>()
+    {
+      BufferParameters bp(16, BufferParameters::CAP_FLAT);
+
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_FLAT );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_ROUND );
+      ensure_equals( bp.getMitreLimit(), 5.0 );
+      ensure_equals( bp.getQuadrantSegments(), int(16) );
+      ensure( ! bp.isSingleSided() );
+    }
+
+    // Constructor with quadrantSegments and EndCapStyle (2)
+    template<>
+    template<>
+    void object::test<4>()
+    {
+      BufferParameters bp(16, BufferParameters::CAP_ROUND);
+
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_ROUND );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_ROUND );
+      ensure_equals( bp.getMitreLimit(), 5.0 );
+      ensure_equals( bp.getQuadrantSegments(), int(16) );
+      ensure( ! bp.isSingleSided() );
+    }
+
+    // Constructor with quadrantSegments, EndCapStyle, JoinStyle and mitreLimit
+    template<>
+    template<>
+    void object::test<5>()
+    {
+      BufferParameters bp(31, BufferParameters::CAP_SQUARE,
+                              BufferParameters::JOIN_MITRE,
+                              2.0);
+
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_SQUARE );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_MITRE );
+      ensure_equals( bp.getMitreLimit(), 2.0 );
+      ensure_equals( bp.getQuadrantSegments(), int(31) );
+      ensure( ! bp.isSingleSided() );
+    }
+
+    // setQuadrantSegments and getQuadrantSegments
+    template<>
+    template<>
+    void object::test<6>()
+    {
+      BufferParameters bp;
+      ensure_equals( bp.getQuadrantSegments(), int(8) );
+      bp.setQuadrantSegments(16);
+      ensure_equals( bp.getQuadrantSegments(), int(16) );
+      bp.setQuadrantSegments(3);
+      ensure_equals( bp.getQuadrantSegments(), int(3) );
+
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_ROUND );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_ROUND );
+      ensure_equals( bp.getMitreLimit(), 5.0 );
+      ensure( ! bp.isSingleSided() );
+    }
+
+    // setEndCapStyle and getEndCapStyle
+    template<>
+    template<>
+    void object::test<7>()
+    {
+      BufferParameters bp;
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_ROUND );
+      bp.setEndCapStyle( BufferParameters::CAP_FLAT );
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_FLAT );
+      bp.setEndCapStyle( BufferParameters::CAP_SQUARE );
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_SQUARE );
+
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_ROUND );
+      ensure_equals( bp.getMitreLimit(), 5.0 );
+      ensure_equals( bp.getQuadrantSegments(), int(8) );
+      ensure( ! bp.isSingleSided() );
+    }
+
+    // setJoinStyle and getJoinStyle
+    template<>
+    template<>
+    void object::test<8>()
+    {
+      BufferParameters bp;
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_ROUND );
+      bp.setJoinStyle( BufferParameters::JOIN_MITRE );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_MITRE );
+      bp.setJoinStyle( BufferParameters::JOIN_BEVEL );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_BEVEL );
+
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_ROUND );
+      ensure_equals( bp.getMitreLimit(), 5.0 );
+      ensure_equals( bp.getQuadrantSegments(), int(8) );
+      ensure( ! bp.isSingleSided() );
+    }
+
+    // setMitreLimit and getMitreLimit
+    template<>
+    template<>
+    void object::test<9>()
+    {
+      BufferParameters bp;
+      ensure_equals( bp.getMitreLimit(), 5.0 );
+      bp.setMitreLimit( 2.0 );
+      ensure_equals( bp.getMitreLimit(), 2.0 );
+      bp.setMitreLimit( 10.12 );
+      ensure_equals( bp.getMitreLimit(), 10.12 );
+
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_ROUND );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_ROUND );
+      ensure_equals( bp.getQuadrantSegments(), int(8) );
+      ensure( ! bp.isSingleSided() );
+    }
+
+    // setSingleSided and getSingleSided
+    template<>
+    template<>
+    void object::test<10>()
+    {
+      BufferParameters bp;
+      ensure( ! bp.isSingleSided() );
+      bp.setSingleSided( true );
+      ensure( bp.isSingleSided() );
+      bp.setSingleSided( false );
+      ensure( ! bp.isSingleSided() );
+
+      ensure_equals( bp.getEndCapStyle(), BufferParameters::CAP_ROUND );
+      ensure_equals( bp.getJoinStyle(), BufferParameters::JOIN_ROUND );
+      ensure_equals( bp.getQuadrantSegments(), int(8) );
+      ensure_equals( bp.getMitreLimit(), 5.0 );
+    }
+
+} // namespace tut
+
diff --git a/tests/unit/operation/union/UnaryUnionOpTest.cpp b/tests/unit/operation/union/UnaryUnionOpTest.cpp
index 21e23bf..f5e1459 100644
--- a/tests/unit/operation/union/UnaryUnionOpTest.cpp
+++ b/tests/unit/operation/union/UnaryUnionOpTest.cpp
@@ -1,6 +1,6 @@
 // $Id$
 // 
-// Test Suite for geos::operation::geounion::CascadedPolygonUnion class.
+// Test Suite for geos::operation::geounion::UnaryUnionOp class.
 
 // tut
 #include <tut.hpp>
@@ -167,5 +167,17 @@ namespace tut
         doTest(geoms, "GEOMETRYCOLLECTION (POINT (80 50), POINT (100 70), LINESTRING (40 60, 120 110))");
     }
 
+    template<>
+    template<>
+    void object::test<6>()
+    {
+        static char const* const geoms[] = 
+        {
+            "LINESTRING (0 0, 10 0, 5 -5, 5 5)",
+            NULL
+        };
+        doTest(geoms, "MULTILINESTRING ((0 0, 5 0), (5 0, 10 0, 5 -5, 5 0), (5 0, 5 5))");
+    }
+
 } // namespace tut
 
diff --git a/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp b/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
index 9708405..0a6d14d 100644
--- a/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
+++ b/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
@@ -1,4 +1,4 @@
-// $Id: TopologyPreservingSimplifierTest.cpp 2344 2009-04-09 21:46:30Z mloskot $
+// $Id: TopologyPreservingSimplifierTest.cpp 3574 2012-03-22 08:34:59Z strk $
 // 
 // Test Suite for geos::simplify::TopologyPreservingSimplifier
 
@@ -6,6 +6,7 @@
 #include <utility.h>
 // geos
 #include <geos/io/WKTReader.h>
+#include <geos/io/WKTWriter.h>
 #include <geos/geom/PrecisionModel.h>
 #include <geos/geom/GeometryFactory.h>
 #include <geos/geom/Geometry.h>
@@ -29,12 +30,15 @@ namespace tut
 		geos::geom::PrecisionModel pm;
 		geos::geom::GeometryFactory gf;
 		geos::io::WKTReader wktreader;
+		geos::io::WKTWriter wktwriter;
 
 		typedef geos::geom::Geometry::AutoPtr GeomPtr;
 
 		test_tpsimp_data()
-            : pm(1.0), gf(&pm), wktreader(&gf)
-		{}
+            : pm(1.0), gf(&pm), wktreader(&gf), wktwriter()
+		{
+			//wktwriter.setTrim(1);
+		}
 	};
 
 	typedef test_group<test_tpsimp_data> group;
@@ -208,5 +212,22 @@ namespace tut
 		ensure( "Simplified geometry is invalid!", simplified->isValid() );
         ensure_equals_geometry(g.get(), simplified.get() );
     }
+
+    // GeometryCollection with empty elements
+    // See http://trac.osgeo.org/geos/ticket/519
+    template<>
+    template<>
+    void object::test<11>()
+    {
+        std::string wkt("GEOMETRYCOLLECTION ( \
+                    LINESTRING (0 0, 10 0), POLYGON EMPTY)");
+
+        GeomPtr g(wktreader.read(wkt));
+        GeomPtr simp= TopologyPreservingSimplifier::simplify(g.get(), 1);
+
+        ensure( "Simplified geometry is invalid!", simp->isValid() );
+	ensure_equals(wktwriter.write(simp.get()),
+		"GEOMETRYCOLLECTION (LINESTRING (0 0, 10 0))");
+    }
 } // namespace tut
 
diff --git a/tests/xmltester/Makefile.am b/tests/xmltester/Makefile.am
index ff8928b..1f8d544 100644
--- a/tests/xmltester/Makefile.am
+++ b/tests/xmltester/Makefile.am
@@ -1,4 +1,4 @@
-# $Id: Makefile.am 3369 2011-05-17 20:44:35Z strk $
+# $Id: Makefile.am 3552 2011-12-15 14:18:38Z strk $
 #
 # This file is part of project GEOS (http://trac.osgeo.org/geos/) 
 #
@@ -33,6 +33,7 @@ SAFE_XMLTESTS=$(srcdir)/tests/testLeaksBig.xml \
 	$(srcdir)/tests/ticket/bug392.xml \
 	$(srcdir)/tests/ticket/bug398.xml \
 	$(srcdir)/tests/ticket/bug434.xml \
+	$(srcdir)/tests/ticket/bug488.xml \
 	$(srcdir)/tests/general/TestBoundary.xml \
 	$(srcdir)/tests/general/TestBuffer.xml \
 	$(srcdir)/tests/general/TestBufferMitredJoin.xml \
@@ -62,6 +63,7 @@ SAFE_XMLTESTS=$(srcdir)/tests/testLeaksBig.xml \
 	$(srcdir)/tests/general/TestRelatePP.xml \
 	$(srcdir)/tests/general/TestSimple.xml \
 	$(srcdir)/tests/general/TestUnaryUnion.xml \
+	$(srcdir)/tests/general/TestUnaryUnionFloating.xml \
 	$(srcdir)/tests/general/TestValid.xml \
 	$(srcdir)/tests/general/TestValid2.xml \
 	$(srcdir)/tests/general/TestValid2-big.xml \
@@ -79,7 +81,8 @@ SAFE_XMLTESTS=$(srcdir)/tests/testLeaksBig.xml \
 	$(srcdir)/tests/hole_from_shell.xml \
 	$(srcdir)/tests/hole_red.xml \
 	$(srcdir)/tests/safe/16595.xml \
-	$(srcdir)/tests/safe/16596.xml
+	$(srcdir)/tests/safe/16596.xml \
+	$(srcdir)/tests/safe/TestBufferJagged.xml
 
 INVALID_OUTPUT_XMLTESTS = 
 
diff --git a/tests/xmltester/Makefile.in b/tests/xmltester/Makefile.in
index 3620488..1d268ab 100644
--- a/tests/xmltester/Makefile.in
+++ b/tests/xmltester/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,7 @@
 
 @SET_MAKE@
 
-# $Id: Makefile.am 3369 2011-05-17 20:44:35Z strk $
+# $Id: Makefile.am 3552 2011-12-15 14:18:38Z strk $
 #
 # This file is part of project GEOS (http://trac.osgeo.org/geos/) 
 #
@@ -298,6 +298,7 @@ SAFE_XMLTESTS = $(srcdir)/tests/testLeaksBig.xml \
 	$(srcdir)/tests/ticket/bug392.xml \
 	$(srcdir)/tests/ticket/bug398.xml \
 	$(srcdir)/tests/ticket/bug434.xml \
+	$(srcdir)/tests/ticket/bug488.xml \
 	$(srcdir)/tests/general/TestBoundary.xml \
 	$(srcdir)/tests/general/TestBuffer.xml \
 	$(srcdir)/tests/general/TestBufferMitredJoin.xml \
@@ -327,6 +328,7 @@ SAFE_XMLTESTS = $(srcdir)/tests/testLeaksBig.xml \
 	$(srcdir)/tests/general/TestRelatePP.xml \
 	$(srcdir)/tests/general/TestSimple.xml \
 	$(srcdir)/tests/general/TestUnaryUnion.xml \
+	$(srcdir)/tests/general/TestUnaryUnionFloating.xml \
 	$(srcdir)/tests/general/TestValid.xml \
 	$(srcdir)/tests/general/TestValid2.xml \
 	$(srcdir)/tests/general/TestValid2-big.xml \
@@ -344,7 +346,8 @@ SAFE_XMLTESTS = $(srcdir)/tests/testLeaksBig.xml \
 	$(srcdir)/tests/hole_from_shell.xml \
 	$(srcdir)/tests/hole_red.xml \
 	$(srcdir)/tests/safe/16595.xml \
-	$(srcdir)/tests/safe/16596.xml
+	$(srcdir)/tests/safe/16596.xml \
+	$(srcdir)/tests/safe/TestBufferJagged.xml
 
 INVALID_OUTPUT_XMLTESTS = 
 FAILING_XMLTESTS = \
@@ -655,14 +658,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -711,10 +715,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/xmltester/XMLTester.cpp b/tests/xmltester/XMLTester.cpp
index c7b65b2..c2fa50d 100644
--- a/tests/xmltester/XMLTester.cpp
+++ b/tests/xmltester/XMLTester.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: XMLTester.cpp 3295 2011-04-22 22:26:38Z strk $
+ * $Id: XMLTester.cpp 3531 2011-12-09 08:46:06Z strk $
  *
  * GEOS - Geometry Engine Open Source
  * http://geos.refractions.net
@@ -418,6 +418,8 @@ XMLTester::resetCounters()
 void
 XMLTester::parseRun(const TiXmlNode* node)
 {
+	using geos::geom::PrecisionModel;
+
 	assert(node);
 
 	//dump_to_stdout(node);
@@ -425,6 +427,18 @@ XMLTester::parseRun(const TiXmlNode* node)
 	// Look for precisionModel element
 	const TiXmlElement* el = node->FirstChildElement("precisionModel");
 	if ( el ) parsePrecisionModel(el);
+	else pm.reset(new PrecisionModel());
+
+	if (verbose > 1)
+	{
+		std::cerr << *curr_file <<": run: Precision Model: " << pm->toString() <<std::endl;
+	}
+
+	factory.reset(new geom::GeometryFactory(pm.get()));
+	wktreader.reset(new io::WKTReader(factory.get()));
+	wktwriter.reset(new io::WKTWriter());
+	wkbreader.reset(new io::WKBReader(*factory));
+	wkbwriter.reset(new io::WKBWriter());
 
 	const TiXmlNode* casenode;
 	for ( casenode = node->FirstChild("case");
@@ -480,17 +494,6 @@ XMLTester::parsePrecisionModel(const TiXmlElement* el)
 		// NOTE: PrecisionModel discards offsets anyway...
 		pm.reset(new PrecisionModel(scale, offsetX, offsetY));
 	}
-
-	if (verbose > 1)
-	{
-		std::cerr << *curr_file <<": run: Precision Model: " << pm->toString() <<std::endl;
-	}
-
-	factory.reset(new geom::GeometryFactory(pm.get()));
-	wktreader.reset(new io::WKTReader(factory.get()));
-	wktwriter.reset(new io::WKTWriter());
-	wkbreader.reset(new io::WKBReader(*factory));
-	wkbwriter.reset(new io::WKBWriter());
 }
 
 
diff --git a/tests/xmltester/tests/general/TestUnaryUnion.xml b/tests/xmltester/tests/general/TestUnaryUnion.xml
index f7c67f3..57344a4 100644
--- a/tests/xmltester/tests/general/TestUnaryUnion.xml
+++ b/tests/xmltester/tests/general/TestUnaryUnion.xml
@@ -27,6 +27,18 @@
 </case>
 
 <case>
+  <desc>L - LineString (showing noding)</desc>
+  <a>
+    LINESTRING (0 0, 10 0, 5 -5, 5 5)
+  </a>
+<test>
+  <op name="union" arg1="A">
+    MULTILINESTRING ((0 0, 5 0), (5 0, 10 0, 5 -5, 5 0), (5 0, 5 5))
+  </op>
+</test>
+</case>
+
+<case>
   <desc>mL - multiLineString (showing noding)</desc>
   <a>
     MULTILINESTRING((0 0, 10 10), (0 10, 10 0))
@@ -139,8 +151,7 @@
   </a>
   <test>
     <op name="union" arg1="A">
-    	GEOMETRYCOLLECTION (LINESTRING (0 0, 20 0), 
-  POLYGON ((150 0, 20 0, 20 100, 180 100, 180 0, 150 0)))
+  POLYGON ((150 0, 20 0, 20 100, 180 100, 180 0, 150 0))
     </op>
   </test>
 </case>
diff --git a/tests/xmltester/tests/general/TestUnaryUnionFloating.xml b/tests/xmltester/tests/general/TestUnaryUnionFloating.xml
new file mode 100644
index 0000000..3a30c80
--- /dev/null
+++ b/tests/xmltester/tests/general/TestUnaryUnionFloating.xml
@@ -0,0 +1,20 @@
+<run>
+  <desc>Tests for Geometry.union() method (unary union) with floating precision</desc>
+
+<case>
+  <desc>mP - showing that non-polygonal components are discarded correctly</desc>
+  <a>
+  GEOMETRYCOLLECTION (
+    POLYGON ((-3 -2, 700 900, -6 900, -3 -2)),
+    POLYGON((700 900, -1.6859349853697 899.55, 0.3 -0.4, 700 900)),
+    POLYGON ((700 860, 700 899.5, -1.68593498537 899.55, 700 860))
+    )
+  </a>
+<test>
+  <op name="union" arg1="A">
+    POLYGON ((0.2942036115049298 2.226702215615205, -3 -2, -6 900, 700 900, 699.6114719806972 899.5000276853219, 700 899.5, 700 860, 670.2204017222961 861.6785046602191, 0.3 -0.4, 0.2942036115049298 2.226702215615205))
+  </op>
+</test>
+</case>
+
+</run>
diff --git a/tests/xmltester/tests/safe/TestBufferJagged.xml b/tests/xmltester/tests/safe/TestBufferJagged.xml
new file mode 100644
index 0000000..0fbd610
--- /dev/null
+++ b/tests/xmltester/tests/safe/TestBufferJagged.xml
@@ -0,0 +1,75 @@
+<run>
+<precisionModel type="FLOATING"/>
+<resultMatcher>com.vividsolutions.jtstest.testrunner.BufferResultMatcher</resultMatcher>
+
+<case>
+
+  <desc>
+Test case from Safe Software. 
+See http://trac.osgeo.org/geos/wiki/BufferRobustness
+ </desc>
+
+  <a>
+    POLYGON ((99736.4572496327 -2239219.11305743, 99736.6573549178 -2239219.11305743, 99736.6573549178 -2239219.01300479, 99736.5573022753 -2239219.01300479, 99736.5573022753 -2239218.8128995, 99736.6573549178 -2239218.8128995, 99736.6573549178 -2239218.91295215, 99736.7574075604 -2239218.91295215, 99736.7574075604 -2239219.01300479, 99736.8574602029 -2239219.01300479, 99736.8574602029 -2239219.11305743, 99736.9575128455 -2239219.11305743, 99736.9575128455 -2239219.21311007, 99737.057565488 -2239219.21311007, 99737.057565488 -2239219.01300479, 99737.2576707731 -2239219.01300479, 99737.2576707731 -2239219.11305743, 99737.4577760582 -2239219.11305743, 99737.4577760582 -2239219.01300479, 99737.958039271 -2239219.01300479, 99737.958039271 -2239218.91295215, 99738.0580919136 -2239218.91295215, 99738.0580919136 -2239218.51274158, 99738.1581445561 -2239218.51274158, 99738.1581445561 -2239218.61279422, 99738.3582498412 -2239218.61279422, 99738.3582498412 -2239218.41268893, 99738.4583024838 -2239218.41268893, 99738.4583024838 -2239218.61279422, 99738.5583551263 -2239218.61279422, 99738.5583551263 -2239218.41268893, 99738.6584077689 -2239218.41268893, 99738.6584077689 -2239218.31263629, 99738.4583024838 -2239218.31263629, 99738.4583024838 -2239218.11253101, 99738.5583551263 -2239218.11253101, 99738.5583551263 -2239218.21258365, 99738.6584077689 -2239218.21258365, 99738.6584077689 -2239218.11253101, 99738.7584604114 -2239218.11253101, 99738.7584604114 -2239218.41268893, 99738.858513054 -2239218.41268893, 99738.858513054 -2239218.31263629, 99738.9585656965 -2239218.31263629, 99738.9585656965 -2239218.21258365, 99738.858513054 -2239218.21258365, 99738.858513054 -2239217.91242572, 99738.9585656965 -2239217.91242572, 99738.9585656965 -2239218.01247836, 99739.1586709816 -2239218.01247836, 99739.1586709816 -2239217.91242572, 99739.2587236242 -2239217.91242572, 99739.2587236242 -2239218.01247836, 99739.3587762667 -2239218.01247836, 99739.3587762667 -2239218.11253101, 99739.4588289093 -2239218.11253101, 99739.4588289093 -2239217.91242572, 99739.5588815519 -2239217.91242572, 99739.5588815519 -2239218.01247836, 99739.6589341944 -2239218.01247836, 99739.6589341944 -2239217.81237308, 99739.8590394795 -2239217.81237308, 99739.8590394795 -2239217.71232044, 99740.0591447646 -2239217.71232044, 99740.0591447646 -2239217.61226779, 99740.1591974072 -2239217.61226779, 99740.1591974072 -2239217.71232044, 99740.2592500497 -2239217.71232044, 99740.2592500497 -2239217.51221515, 99740.0591447646 -2239217.51221515, 99740.0591447646 -2239217.41216251, 99740.2592500497 -2239217.41216251, 99740.2592500497 -2239217.21205722, 99740.3593026923 -2239217.21205722, 99740.3593026923 -2239217.01195194, 99740.2592500497 -2239217.01195194, 99740.2592500497 -2239217.11200458, 99740.1591974072 -2239217.11200458, 99740.1591974072 -2239217.01195194, 99740.0591447646 -2239217.01195194, 99740.0591447646 -2239217.31210987, 99739.8590394795 -2239217.31210987, 99739.8590394795 -2239217.41216251, 99739.6589341944 -2239217.41216251, 99739.6589341944 -2239217.51221515, 99739.4588289093 -2239217.51221515, 99739.4588289093 -2239217.61226779, 99738.9585656965 -2239217.61226779, 99738.9585656965 -2239217.51221515, 99738.7584604114 -2239217.51221515, 99738.7584604114 -2239217.41216251, 99738.5583551263 -2239217.41216251, 99738.5583551263 -2239217.31210987, 99738.4583024838 -2239217.31210987, 99738.4583024838 -2239217.21205722, 99738.6584077689 -2239217.21205722, 99738.6584077689 -2239217.11200458, 99738.9585656965 -2239217.11200458, 99738.9585656965 -2239217.01195194, 99738.7584604114 -2239217.01195194, 99738.7584604114 -2239216.9118993, 99738.3582498412 -2239216.9118993, 99738.3582498412 -2239217.01195194, 99738.2581971987 -2239217.01195194, 99738.2581971987 -2239216.9118993, 99738.1581445561 -2239216.9118993, 99738.1581445561 -2239217.01195194, 99738.0580919136 -2239217.01195194, 99738.0580919136 -2239216.9118993, 99737.8579866284 -2239216.9118993, 99737.8579866284 -2239216.61174137, 99737.6578813433 -2239216.61174137, 99737.6578813433 -2239216.41163608, 99737.4577760582 -2239216.41163608, 99737.4577760582 -2239216.2115308, 99737.2576707731 -2239216.2115308, 99737.2576707731 -2239215.81132023, 99737.057565488 -2239215.81132023, 99737.057565488 -2239215.41110966, 99736.9575128455 -2239215.41110966, 99736.9575128455 -2239215.31105701, 99736.8574602029 -2239215.31105701, 99736.8574602029 -2239215.01089909, 99736.9575128455 -2239215.01089909, 99736.9575128455 -2239214.91084644, 99737.057565488 -2239214.91084644, 99737.057565488 -2239214.8107938, 99737.1576181306 -2239214.8107938, 99737.1576181306 -2239214.71074116, 99737.3577234157 -2239214.71074116, 99737.3577234157 -2239214.61068852, 99737.6578813433 -2239214.61068852, 99737.6578813433 -2239214.41058323, 99737.8579866284 -2239214.41058323, 99737.8579866284 -2239214.31053059, 99737.958039271 -2239214.31053059, 99737.958039271 -2239214.1104253, 99737.5578287008 -2239214.1104253, 99737.5578287008 -2239214.21047795, 99737.4577760582 -2239214.21047795, 99737.4577760582 -2239214.01037266, 99737.6578813433 -2239214.01037266, 99737.6578813433 -2239213.91032002, 99737.7579339859 -2239213.91032002, 99737.7579339859 -2239213.71021473, 99737.8579866284 -2239213.71021473, 99737.8579866284 -2239213.61016209, 99737.7579339859 -2239213.61016209, 99737.7579339859 -2239213.51010945, 99737.8579866284 -2239213.51010945, 99737.8579866284 -2239213.41005681, 99737.958039271 -2239213.41005681, 99737.958039271 -2239213.31000416, 99737.8579866284 -2239213.31000416, 99737.8579866284 -2239213.20995152, 99737.7579339859 -2239213.20995152, 99737.7579339859 -2239213.31000416, 99737.5578287008 -2239213.31000416, 99737.5578287008 -2239213.10989888, 99737.3577234157 -2239213.10989888, 99737.3577234157 -2239212.90979359, 99737.4577760582 -2239212.90979359, 99737.4577760582 -2239212.80974095, 99737.3577234157 -2239212.80974095, 99737.3577234157 -2239212.70968831, 99737.2576707731 -2239212.70968831, 99737.2576707731 -2239212.30947774, 99737.057565488 -2239212.30947774, 99737.057565488 -2239212.2094251, 99736.9575128455 -2239212.2094251, 99736.9575128455 -2239212.10937245, 99737.057565488 -2239212.10937245, 99737.057565488 -2239212.00931981, 99737.1576181306 -2239212.00931981, 99737.1576181306 -2239212.10937245, 99737.2576707731 -2239212.10937245, 99737.2576707731 -2239212.2094251, 99737.3577234157 -2239212.2094251, 99737.3577234157 -2239212.40953038, 99737.4577760582 -2239212.40953038, 99737.4577760582 -2239212.30947774, 99737.5578287008 -2239212.30947774, 99737.5578287008 -2239212.2094251, 99737.6578813433 -2239212.2094251, 99737.6578813433 -2239212.10937245, 99737.5578287008 -2239212.10937245, 99737.5578287008 -2239212.00931981, 99737.4577760582 -2239212.00931981, 99737.4577760582 -2239211.90926717, 99737.2576707731 -2239211.90926717, 99737.2576707731 -2239211.80921452, 99737.1576181306 -2239211.80921452, 99737.1576181306 -2239211.70916188, 99737.057565488 -2239211.70916188, 99737.057565488 -2239211.60910924, 99736.9575128455 -2239211.60910924, 99736.9575128455 -2239211.5090566, 99736.7574075604 -2239211.5090566, 99736.7574075604 -2239211.40900395, 99736.5573022753 -2239211.40900395, 99736.5573022753 -2239211.00879338, 99736.4572496327 -2239211.00879338, 99736.4572496327 -2239210.90874074, 99736.157091705 -2239210.90874074, 99736.157091705 -2239210.8086881, 99736.2571443476 -2239210.8086881, 99736.2571443476 -2239210.60858281, 99736.3571969901 -2239210.60858281, 99736.3571969901 -2239210.40847753, 99736.2571443476 -2239210.40847753, 99736.2571443476 -2239210.50853017, 99736.0570390625 -2239210.50853017, 99736.0570390625 -2239210.40847753, 99736.157091705 -2239210.40847753, 99736.157091705 -2239210.30842489, 99735.9569864199 -2239210.30842489, 99735.9569864199 -2239210.20837224, 99736.0570390625 -2239210.20837224, 99736.0570390625 -2239209.90821432, 99735.8569337774 -2239209.90821432, 99735.8569337774 -2239209.80816167, 99735.9569864199 -2239209.80816167, 99735.9569864199 -2239209.60805639, 99735.8569337774 -2239209.60805639, 99735.8569337774 -2239209.50800375, 99735.7568811348 -2239209.50800375, 99735.7568811348 -2239209.4079511, 99735.8569337774 -2239209.4079511, 99735.8569337774 -2239209.30789846, 99735.7568811348 -2239209.30789846, 99735.7568811348 -2239209.20784582, 99735.6568284923 -2239209.20784582, 99735.6568284923 -2239209.00774053, 99735.7568811348 -2239209.00774053, 99735.7568811348 -2239208.80763525, 99735.6568284923 -2239208.80763525, 99735.6568284923 -2239208.60752996, 99735.5567758497 -2239208.60752996, 99735.5567758497 -2239208.50747732, 99735.6568284923 -2239208.50747732, 99735.6568284923 -2239208.40742468, 99735.5567758497 -2239208.40742468, 99735.5567758497 -2239208.30737204, 99735.4567232072 -2239208.30737204, 99735.4567232072 -2239208.20731939, 99735.5567758497 -2239208.20731939, 99735.5567758497 -2239208.00721411, 99735.4567232072 -2239208.00721411, 99735.4567232072 -2239207.90716147, 99735.3566705646 -2239207.90716147, 99735.3566705646 -2239207.70705618, 99735.4567232072 -2239207.70705618, 99735.4567232072 -2239207.50695089, 99735.3566705646 -2239207.50695089, 99735.3566705646 -2239207.40689825, 99735.4567232072 -2239207.40689825, 99735.4567232072 -2239207.30684561, 99735.2566179221 -2239207.30684561, 99735.2566179221 -2239207.20679297, 99735.3566705646 -2239207.20679297, 99735.3566705646 -2239207.10674032, 99735.1565652795 -2239207.10674032, 99735.1565652795 -2239207.30684561, 99735.0565126369 -2239207.30684561, 99735.0565126369 -2239207.00668768, 99734.9564599944 -2239207.00668768, 99734.9564599944 -2239207.40689825, 99734.8564073518 -2239207.40689825, 99734.8564073518 -2239207.00668768, 99734.7563547093 -2239207.00668768, 99734.7563547093 -2239206.90663504, 99734.6563020667 -2239206.90663504, 99734.6563020667 -2239206.8065824, 99734.5562494242 -2239206.8065824, 99734.5562494242 -2239206.70652975, 99734.2560914965 -2239206.70652975, 99734.2560914965 -2239206.60647711, 99734.3561441391 -2239206.60647711, 99734.3561441391 -2239206.30631918, 99734.156038854 -2239206.30631918, 99734.156038854 -2239206.20626654, 99734.0559862114 -2239206.20626654, 99734.0559862114 -2239206.1062139, 99734.2560914965 -2239206.1062139, 99734.2560914965 -2239205.90610861, 99734.3561441391 -2239205.90610861, 99734.3561441391 -2239205.80605597, 99734.4561967816 -2239205.80605597, 99734.4561967816 -2239205.70600333, 99734.6563020667 -2239205.70600333, 99734.6563020667 -2239205.80605597, 99734.8564073518 -2239205.80605597, 99734.8564073518 -2239205.30579276, 99734.3561441391 -2239205.30579276, 99734.3561441391 -2239205.10568747, 99734.0559862114 -2239205.10568747, 99734.0559862114 -2239205.00563483, 99733.8558809263 -2239205.00563483, 99733.8558809263 -2239204.90558219, 99733.6557756412 -2239204.90558219, 99733.6557756412 -2239204.80552955, 99733.4556703561 -2239204.80552955, 99733.4556703561 -2239204.7054769, 99733.3556177135 -2239204.7054769, 99733.3556177135 -2239204.60542426, 99733.1555124284 -2239204.60542426, 99733.1555124284 -2239204.50537162, 99732.8553545008 -2239204.50537162, 99732.8553545008 -2239204.60542426, 99732.7553018582 -2239204.60542426, 99732.7553018582 -2239204.90558219, 99732.5551965731 -2239204.90558219, 99732.5551965731 -2239205.00563483, 99732.4551439306 -2239205.00563483, 99732.4551439306 -2239205.10568747, 99732.355091288 -2239205.10568747, 99732.355091288 -2239205.20574012, 99732.1549860029 -2239205.20574012, 99732.1549860029 -2239205.30579276, 99731.9548807178 -2239205.30579276, 99731.9548807178 -2239205.4058454, 99731.454617505 -2239205.4058454, 99731.454617505 -2239205.50589804, 99731.0544069348 -2239205.50589804, 99731.0544069348 -2239205.60595069, 99730.8543016497 -2239205.60595069, 99730.8543016497 -2239205.70600333, 99730.7542490072 -2239205.70600333, 99730.7542490072 -2239205.80605597, 99730.554143722 -2239205.80605597, 99730.554143722 -2239205.90610861, 99730.4540910795 -2239205.90610861, 99730.4540910795 -2239206.00616126, 99730.3540384369 -2239206.00616126, 99730.3540384369 -2239206.50642447, 99730.2539857944 -2239206.50642447, 99730.2539857944 -2239206.70652975, 99730.1539331518 -2239206.70652975, 99730.1539331518 -2239206.8065824, 99729.9538278667 -2239206.8065824, 99729.9538278667 -2239206.90663504, 99729.5536172965 -2239206.90663504, 99729.5536172965 -2239207.00668768, 99729.3535120114 -2239207.00668768, 99729.3535120114 -2239207.10674032, 99729.2534593688 -2239207.10674032, 99729.2534593688 -2239207.20679297, 99729.0533540837 -2239207.20679297, 99729.0533540837 -2239207.30684561, 99728.9533014412 -2239207.30684561, 99728.9533014412 -2239207.40689825, 99728.8532487986 -2239207.40689825, 99728.8532487986 -2239207.50695089, 99728.7531961561 -2239207.50695089, 99728.7531961561 -2239207.60700354, 99728.6531435135 -2239207.60700354, 99728.6531435135 -2239208.10726675, 99728.553090871 -2239208.10726675, 99728.553090871 -2239208.30737204, 99728.4530382284 -2239208.30737204, 99728.4530382284 -2239208.50747732, 99728.6531435135 -2239208.50747732, 99728.6531435135 -2239208.60752996, 99728.2529329433 -2239208.60752996, 99728.2529329433 -2239208.70758261, 99727.8527223731 -2239208.70758261, 99727.8527223731 -2239208.60752996, 99727.5525644454 -2239208.60752996, 99727.5525644454 -2239208.70758261, 99727.4525118029 -2239208.70758261, 99727.4525118029 -2239208.60752996, 99726.4519853773 -2239208.60752996, 99726.4519853773 -2239208.70758261, 99726.2518800922 -2239208.70758261, 99726.2518800922 -2239208.80763525, 99726.1518274497 -2239208.80763525, 99726.1518274497 -2239208.90768789, 99726.0517748071 -2239208.90768789, 99726.0517748071 -2239209.00774053, 99725.9517221646 -2239209.00774053, 99725.9517221646 -2239209.10779318, 99725.851669522 -2239209.10779318, 99725.851669522 -2239209.20784582, 99725.7516168795 -2239209.20784582, 99725.7516168795 -2239209.4079511, 99725.6515642369 -2239209.4079511, 99725.6515642369 -2239209.50800375, 99725.7516168795 -2239209.50800375, 99725.7516168795 -2239209.60805639, 99725.6515642369 -2239209.60805639, 99725.6515642369 -2239209.90821432, 99725.5515115944 -2239209.90821432, 99725.5515115944 -2239210.50853017, 99725.4514589518 -2239210.50853017, 99725.4514589518 -2239211.20889867, 99725.5515115944 -2239211.20889867, 99725.5515115944 -2239211.40900395, 99725.6515642369 -2239211.40900395, 99725.6515642369 -2239211.5090566, 99725.7516168795 -2239211.5090566, 99725.7516168795 -2239211.40900395, 99725.851669522 -2239211.40900395, 99725.851669522 -2239211.10884603, 99725.9517221646 -2239211.10884603, 99725.9517221646 -2239210.90874074, 99726.0517748071 -2239210.90874074, 99726.0517748071 -2239210.20837224, 99726.1518274497 -2239210.20837224, 99726.1518274497 -2239210.1083196, 99726.2518800922 -2239210.1083196, 99726.2518800922 -2239210.00826696, 99726.4519853773 -2239210.00826696, 99726.4519853773 -2239209.90821432, 99726.6520906625 -2239209.90821432, 99726.6520906625 -2239210.00826696, 99726.9522485901 -2239210.00826696, 99726.9522485901 -2239210.1083196, 99727.1523538752 -2239210.1083196, 99727.1523538752 -2239210.20837224, 99727.7526697305 -2239210.20837224, 99727.7526697305 -2239210.1083196, 99728.6531435135 -2239210.1083196, 99728.6531435135 -2239210.00826696, 99728.7531961561 -2239210.00826696, 99728.7531961561 -2239210.1083196, 99729.0533540837 -2239210.1083196, 99729.0533540837 -2239210.20837224, 99729.1534067263 -2239210.20837224, 99729.1534067263 -2239210.00826696, 99728.9533014412 -2239210.00826696, 99728.9533014412 -2239209.90821432, 99729.1534067263 -2239209.90821432, 99729.1534067263 -2239209.80816167, 99728.9533014412 -2239209.80816167, 99728.9533014412 -2239209.70810903, 99728.8532487986 -2239209.70810903, 99728.8532487986 -2239209.60805639, 99728.9533014412 -2239209.60805639, 99728.9533014412 -2239209.4079511, 99728.8532487986 -2239209.4079511, 99728.8532487986 -2239209.30789846, 99728.9533014412 -2239209.30789846, 99728.9533014412 -2239209.00774053, 99729.0533540837 -2239209.00774053, 99729.0533540837 -2239208.90768789, 99729.5536172965 -2239208.90768789, 99729.5536172965 -2239208.80763525, 99729.7537225816 -2239208.80763525, 99729.7537225816 -2239208.90768789, 99729.8537752242 -2239208.90768789, 99729.8537752242 -2239209.00774053, 99729.9538278667 -2239209.00774053, 99729.9538278667 -2239209.10779318, 99730.1539331518 -2239209.10779318, 99730.1539331518 -2239209.30789846, 99730.0538805093 -2239209.30789846, 99730.0538805093 -2239209.4079511, 99730.1539331518 -2239209.4079511, 99730.1539331518 -2239209.50800375, 99730.0538805093 -2239209.50800375, 99730.0538805093 -2239209.80816167, 99729.9538278667 -2239209.80816167, 99729.9538278667 -2239210.00826696, 99729.8537752242 -2239210.00826696, 99729.8537752242 -2239210.1083196, 99729.7537225816 -2239210.1083196, 99729.7537225816 -2239210.20837224, 99729.5536172965 -2239210.20837224, 99729.5536172965 -2239210.1083196, 99729.3535120114 -2239210.1083196, 99729.3535120114 -2239210.30842489, 99729.2534593688 -2239210.30842489, 99729.2534593688 -2239210.40847753, 99729.3535120114 -2239210.40847753, 99729.3535120114 -2239210.8086881, 99729.4535646539 -2239210.8086881, 99729.4535646539 -2239210.90874074, 99729.3535120114 -2239210.90874074, 99729.3535120114 -2239211.00879338, 99729.1534067263 -2239211.00879338, 99729.1534067263 -2239211.10884603, 99728.7531961561 -2239211.10884603, 99728.7531961561 -2239211.20889867, 99727.9527750156 -2239211.20889867, 99727.9527750156 -2239211.30895131, 99727.652617088 -2239211.30895131, 99727.652617088 -2239211.40900395, 99727.4525118029 -2239211.40900395, 99727.4525118029 -2239211.5090566, 99727.3524591603 -2239211.5090566, 99727.3524591603 -2239211.70916188, 99727.4525118029 -2239211.70916188, 99727.4525118029 -2239211.80921452, 99727.652617088 -2239211.80921452, 99727.652617088 -2239211.90926717, 99727.8527223731 -2239211.90926717, 99727.8527223731 -2239212.00931981, 99728.4530382284 -2239212.00931981, 99728.4530382284 -2239212.10937245, 99728.553090871 -2239212.10937245, 99728.553090871 -2239212.00931981, 99728.7531961561 -2239212.00931981, 99728.7531961561 -2239212.10937245, 99729.1534067263 -2239212.10937245, 99729.1534067263 -2239212.2094251, 99729.3535120114 -2239212.2094251, 99729.3535120114 -2239212.30947774, 99729.4535646539 -2239212.30947774, 99729.4535646539 -2239212.50958302, 99729.5536172965 -2239212.50958302, 99729.5536172965 -2239212.60963567, 99729.6536699391 -2239212.60963567, 99729.6536699391 -2239212.70968831, 99729.9538278667 -2239212.70968831, 99729.9538278667 -2239212.80974095, 99730.3540384369 -2239212.80974095, 99730.3540384369 -2239212.90979359, 99730.554143722 -2239212.90979359, 99730.554143722 -2239213.00984624, 99730.7542490072 -2239213.00984624, 99730.7542490072 -2239212.90979359, 99730.8543016497 -2239212.90979359, 99730.8543016497 -2239213.00984624, 99730.9543542922 -2239213.00984624, 99730.9543542922 -2239213.20995152, 99731.0544069348 -2239213.20995152, 99731.0544069348 -2239213.10989888, 99731.1544595774 -2239213.10989888, 99731.1544595774 -2239213.31000416, 99731.3545648625 -2239213.31000416, 99731.3545648625 -2239213.41005681, 99731.454617505 -2239213.41005681, 99731.454617505 -2239213.51010945, 99731.5546701476 -2239213.51010945, 99731.5546701476 -2239213.61016209, 99731.6547227901 -2239213.61016209, 99731.6547227901 -2239213.81026738, 99731.7547754327 -2239213.81026738, 99731.7547754327 -2239213.91032002, 99731.8548280752 -2239213.91032002, 99731.8548280752 -2239214.1104253, 99731.9548807178 -2239214.1104253, 99731.9548807178 -2239214.31053059, 99732.0549333603 -2239214.31053059, 99732.0549333603 -2239214.41058323, 99731.9548807178 -2239214.41058323, 99731.9548807178 -2239214.51063587, 99732.0549333603 -2239214.51063587, 99732.0549333603 -2239214.71074116, 99732.1549860029 -2239214.71074116, 99732.1549860029 -2239214.91084644, 99732.2550386455 -2239214.91084644, 99732.2550386455 -2239215.11095173, 99732.355091288 -2239215.11095173, 99732.355091288 -2239215.31105701, 99732.4551439306 -2239215.31105701, 99732.4551439306 -2239215.41110966, 99732.355091288 -2239215.41110966, 99732.355091288 -2239215.5111623, 99732.4551439306 -2239215.5111623, 99732.4551439306 -2239215.71126758, 99732.355091288 -2239215.71126758, 99732.355091288 -2239215.91137287, 99732.4551439306 -2239215.91137287, 99732.4551439306 -2239216.01142551, 99732.355091288 -2239216.01142551, 99732.355091288 -2239216.11147815, 99732.2550386455 -2239216.11147815, 99732.2550386455 -2239216.2115308, 99732.355091288 -2239216.2115308, 99732.355091288 -2239216.31158344, 99732.2550386455 -2239216.31158344, 99732.2550386455 -2239216.61174137, 99732.1549860029 -2239216.61174137, 99732.1549860029 -2239217.01195194, 99732.0549333603 -2239217.01195194, 99732.0549333603 -2239217.21205722, 99732.1549860029 -2239217.21205722, 99732.1549860029 -2239217.31210987, 99732.4551439306 -2239217.31210987, 99732.4551439306 -2239217.41216251, 99732.5551965731 -2239217.41216251, 99732.5551965731 -2239217.31210987, 99732.7553018582 -2239217.31210987, 99732.7553018582 -2239217.41216251, 99732.8553545008 -2239217.41216251, 99732.8553545008 -2239217.51221515, 99732.9554071433 -2239217.51221515, 99732.9554071433 -2239217.31210987, 99733.1555124284 -2239217.31210987, 99733.1555124284 -2239217.41216251, 99733.255565071 -2239217.41216251, 99733.255565071 -2239217.31210987, 99733.4556703561 -2239217.31210987, 99733.4556703561 -2239217.41216251, 99733.5557229986 -2239217.41216251, 99733.5557229986 -2239217.31210987, 99733.6557756412 -2239217.31210987, 99733.6557756412 -2239217.21205722, 99733.8558809263 -2239217.21205722, 99733.8558809263 -2239217.11200458, 99733.9559335689 -2239217.11200458, 99733.9559335689 -2239217.01195194, 99734.0559862114 -2239217.01195194, 99734.0559862114 -2239217.21205722, 99734.156038854 -2239217.21205722, 99734.156038854 -2239217.11200458, 99734.2560914965 -2239217.11200458, 99734.2560914965 -2239217.21205722, 99734.3561441391 -2239217.21205722, 99734.3561441391 -2239217.11200458, 99734.4561967816 -2239217.11200458, 99734.4561967816 -2239217.01195194, 99734.3561441391 -2239217.01195194, 99734.3561441391 -2239216.9118993, 99734.4561967816 -2239216.9118993, 99734.4561967816 -2239216.81184665, 99734.6563020667 -2239216.81184665, 99734.6563020667 -2239216.9118993, 99734.5562494242 -2239216.9118993, 99734.5562494242 -2239217.01195194, 99734.6563020667 -2239217.01195194, 99734.6563020667 -2239217.11200458, 99734.7563547093 -2239217.11200458, 99734.7563547093 -2239217.01195194, 99734.8564073518 -2239217.01195194, 99734.8564073518 -2239217.11200458, 99735.3566705646 -2239217.11200458, 99735.3566705646 -2239217.21205722, 99735.7568811348 -2239217.21205722, 99735.7568811348 -2239217.31210987, 99735.6568284923 -2239217.31210987, 99735.6568284923 -2239217.41216251, 99735.5567758497 -2239217.41216251, 99735.5567758497 -2239217.61226779, 99735.7568811348 -2239217.61226779, 99735.7568811348 -2239217.71232044, 99735.9569864199 -2239217.71232044, 99735.9569864199 -2239218.01247836, 99735.8569337774 -2239218.01247836, 99735.8569337774 -2239218.11253101, 99735.9569864199 -2239218.11253101, 99735.9569864199 -2239218.21258365, 99736.0570390625 -2239218.21258365, 99736.0570390625 -2239218.41268893, 99735.9569864199 -2239218.41268893, 99735.9569864199 -2239218.61279422, 99736.0570390625 -2239218.61279422, 99736.0570390625 -2239218.71284686, 99735.9569864199 -2239218.71284686, 99735.9569864199 -2239218.8128995, 99736.0570390625 -2239218.8128995, 99736.0570390625 -2239218.91295215, 99736.3571969901 -2239218.91295215, 99736.3571969901 -2239219.01300479, 99736.4572496327 -2239219.01300479, 99736.4572496327 -2239219.11305743))
+  </a>
+
+  <test>
+    <desc>buffer-0.35: see http://trac.osgeo.org/geos/wiki/BufferRobustness</desc>
+    <op name="buffer" arg1="a" arg2="0.35">
+      POLYGON ((99725.2015115944 -2239210.264040296, 99725.2015115944 -2239209.90821432, 99725.20823674626 -2239209.839932707, 99725.22815375803 -2239209.7742751185, 99725.26049723009 -2239209.7137647383, 99725.3015642369 -2239209.663724446, 99725.3015642369 -2239209.60805639, 99725.30649139937 -2239209.5580300703, 99725.3015642369 -2239209.50800375, 99725.3015642369 -2239209.4079511, 99725.30828938876 -2239209.339669487, 99725.32820640053 -2239209.2740118983, 99725.3605498726 -2239209.213501518, 99725.40407686349 -2239209.1604637266, 99725.40647766467 -2239209.15849344, 99725.40834203135 -2239209.1395642073, 99725.42825904312 -2239209.0739066186, 99725.46060251519 -2239209.0133962384, 99725.50412950608 -2239208.960358447, 99725.55716729794 -2239208.9168314557, 99725.55944024482 -2239208.9156165402, 99725.5606551577 -2239208.913343598, 99725.60418214859 -2239208.8603058066, 99725.65721994045 -2239208.8167788154, 99725.65949288048 -2239208.8155639037, 99725.66070780029 -2239208.8132909485, 99725.70423479118 -2239208.760253157, 99725.75727258304 -2239208.7167261657, 99725.75954552992 -2239208.7155112503, 99725.76076044279 -2239208.713238308, 99725.80428743368 -2239208.6602005167, 99725.85732522554 -2239208.6166735254, 99725.85959817292 -2239208.6154586095, 99725.8608130854 -2239208.6131856684, 99725.90434007629 -2239208.560147877, 99725.95737786815 -2239208.5166208856, 99725.95965081536 -2239208.51540597, 99725.96086572789 -2239208.5131330285, 99726.00439271878 -2239208.460095237, 99726.05743051064 -2239208.4165682457, 99726.11794089086 -2239208.384224774, 99726.18359847949 -2239208.364307762, 99726.2025277112 -2239208.3624433954, 99726.20449800388 -2239208.360042587, 99726.25753579574 -2239208.3165155957, 99726.31804617596 -2239208.2841721238, 99726.38370376459 -2239208.264255112, 99726.4519853773 -2239208.25752996, 99727.4525118029 -2239208.25752996, 99727.50253812416 -2239208.2624571226, 99727.5525644454 -2239208.25752996, 99727.8527223731 -2239208.25752996, 99727.92100398582 -2239208.264255112, 99727.98666157444 -2239208.2841721238, 99728.04717195466 -2239208.3165155957, 99728.0528276582 -2239208.321157112, 99728.05848336175 -2239208.3165155957, 99728.10456354666 -2239208.2918852237, 99728.10976338026 -2239208.2390904273, 99728.12968039203 -2239208.1734328386, 99728.16202386409 -2239208.1129224584, 99728.20555085498 -2239208.059884667, 99728.20795165507 -2239208.0579143814, 99728.20981602286 -2239208.0389851374, 99728.22973303463 -2239207.9733275487, 99728.2620765067 -2239207.9128171685, 99728.30314351349 -2239207.8627768764, 99728.30314351349 -2239207.60700354, 99728.30986866535 -2239207.538721927, 99728.32978567712 -2239207.4730643383, 99728.36212914919 -2239207.412553958, 99728.40565614008 -2239207.3595161666, 99728.45869393194 -2239207.3159891753, 99728.460966872 -2239207.3147742637, 99728.4621817918 -2239207.3125013085, 99728.50570878269 -2239207.259463517, 99728.55874657455 -2239207.2159365257, 99728.56101952141 -2239207.2147216103, 99728.56223443428 -2239207.212448668, 99728.60576142518 -2239207.1594108767, 99728.65879921704 -2239207.1158838854, 99728.66107216441 -2239207.1146689695, 99728.66228707689 -2239207.1123960284, 99728.70581406778 -2239207.059358237, 99728.75885185965 -2239207.0158312456, 99728.76112480687 -2239207.01461633, 99728.7623397194 -2239207.0123433885, 99728.80586671029 -2239206.959305597, 99728.85890450215 -2239206.9157786057, 99728.91941488237 -2239206.883435134, 99728.985072471 -2239206.863518122, 99729.0040017027 -2239206.8616537554, 99729.00597199539 -2239206.859252947, 99729.05900978725 -2239206.8157259556, 99729.06128273426 -2239206.81451104, 99729.06249764709 -2239206.812238098, 99729.10602463798 -2239206.7592003066, 99729.15906242984 -2239206.7156733153, 99729.21957281006 -2239206.6833298435, 99729.28523039869 -2239206.6634128317, 99729.30415963955 -2239206.661548464, 99729.30612992308 -2239206.659147667, 99729.35916771494 -2239206.6156206755, 99729.41967809516 -2239206.5832772036, 99729.48533568378 -2239206.563360192, 99729.5536172965 -2239206.55663504, 99729.70933799617 -2239206.55663504, 99729.75937828515 -2239206.5155680357, 99729.81988866537 -2239206.4832245638, 99729.885546254 -2239206.463307552, 99729.9044754857 -2239206.4614431853, 99729.90644577838 -2239206.459042377, 99729.90884657952 -2239206.4570720904, 99729.91071094626 -2239206.438142857, 99729.93062795803 -2239206.3724852684, 99729.9629714301 -2239206.311974888, 99730.00403843689 -2239206.261934596, 99730.00403843689 -2239206.00616126, 99730.01076358875 -2239205.937879647, 99730.03068060052 -2239205.8722220585, 99730.06302407259 -2239205.8117116783, 99730.10655106348 -2239205.758673887, 99730.15958885534 -2239205.7151468955, 99730.16186179504 -2239205.713931984, 99730.1630767152 -2239205.711659028, 99730.20660370609 -2239205.6586212367, 99730.25964149795 -2239205.6150942454, 99730.26191444516 -2239205.61387933, 99730.26312935769 -2239205.6116063884, 99730.30665634858 -2239205.558568597, 99730.35969414044 -2239205.5150416056, 99730.42020452066 -2239205.4826981337, 99730.48586210929 -2239205.462781122, 99730.50479135025 -2239205.4609167543, 99730.50676163378 -2239205.458515957, 99730.55979942564 -2239205.4149889657, 99730.56207237252 -2239205.4137740503, 99730.56328728539 -2239205.411501108, 99730.60681427628 -2239205.3584633167, 99730.65985206814 -2239205.3149363254, 99730.72036244837 -2239205.2825928535, 99730.78602003699 -2239205.262675842, 99730.8049492687 -2239205.260811475, 99730.80691956138 -2239205.2584106666, 99730.85995735324 -2239205.2148836753, 99730.92046773346 -2239205.1825402034, 99730.98612532209 -2239205.1626231917, 99731.0544069348 -2239205.1558980397, 99731.21012763448 -2239205.1558980397, 99731.26016792345 -2239205.1148310355, 99731.32067830367 -2239205.0824875636, 99731.3863358923 -2239205.062570552, 99731.454617505 -2239205.0558454, 99731.71039084728 -2239205.0558454, 99731.76043113625 -2239205.0147783956, 99731.82094151647 -2239204.9824349238, 99731.8865991051 -2239204.962517912, 99731.90552834554 -2239204.9606535444, 99731.90749862949 -2239204.9582527466, 99731.96053642135 -2239204.9147257553, 99732.02104680157 -2239204.8823822835, 99732.0867043902 -2239204.8624652717, 99732.10563362233 -2239204.860600905, 99732.10760391458 -2239204.858200097, 99732.16064170645 -2239204.8146731057, 99732.16291465345 -2239204.8134581903, 99732.16412956628 -2239204.811185248, 99732.20765655718 -2239204.7581474567, 99732.26069434904 -2239204.7146204654, 99732.26296729626 -2239204.71340555, 99732.26418220879 -2239204.7111326084, 99732.30770919968 -2239204.658094817, 99732.36074699154 -2239204.6145678256, 99732.4068271754 -2239204.589937454, 99732.41202701005 -2239204.537142647, 99732.43194402182 -2239204.4714850583, 99732.46428749389 -2239204.410974678, 99732.50781448478 -2239204.3579368866, 99732.56085227664 -2239204.3144098953, 99732.56312522401 -2239204.3131949794, 99732.5643401365 -2239204.3109220383, 99732.60786712739 -2239204.2578842468, 99732.66090491925 -2239204.2143572555, 99732.72141529947 -2239204.1820137836, 99732.7870728881 -2239204.162096772, 99732.8553545008 -2239204.15537162, 99733.1555124284 -2239204.15537162, 99733.22379404111 -2239204.162096772, 99733.28945162974 -2239204.1820137836, 99733.34996200996 -2239204.2143572555, 99733.40299980182 -2239204.2578842468, 99733.40497008535 -2239204.260285044, 99733.42389932621 -2239204.2621494117, 99733.48955691484 -2239204.2820664234, 99733.55006729506 -2239204.3144098953, 99733.60310508692 -2239204.3579368866, 99733.64663207781 -2239204.410974678, 99733.64784699064 -2239204.41324762, 99733.65011993765 -2239204.4144625356, 99733.70315772951 -2239204.457989527, 99733.7051280222 -2239204.4603903354, 99733.7240572539 -2239204.462254702, 99733.78971484253 -2239204.482171714, 99733.85022522275 -2239204.5145151857, 99733.90326301461 -2239204.558042177, 99733.90523329814 -2239204.5604429743, 99733.92416253901 -2239204.562307342, 99733.98982012764 -2239204.5822243537, 99734.05033050786 -2239204.6145678256, 99734.10336829972 -2239204.658094817, 99734.10533858325 -2239204.660495614, 99734.12426782411 -2239204.662359982, 99734.18992541273 -2239204.6822769935, 99734.25043579296 -2239204.7146204654, 99734.3004760825 -2239204.75568747, 99734.3561441391 -2239204.75568747, 99734.42442575181 -2239204.762412622, 99734.49008334044 -2239204.782329634, 99734.55059372066 -2239204.8146731057, 99734.60363151252 -2239204.858200097, 99734.64715850342 -2239204.9112378885, 99734.67097357841 -2239204.95579276, 99734.8564073518 -2239204.95579276, 99734.92468896451 -2239204.962517912, 99734.99034655314 -2239204.9824349238, 99735.05085693336 -2239205.0147783956, 99735.10389472522 -2239205.058305387, 99735.14742171612 -2239205.1113431784, 99735.17976518818 -2239205.1718535586, 99735.19968219995 -2239205.2375111473, 99735.20640735181 -2239205.30579276, 99735.20640735181 -2239205.80605597, 99735.19968219995 -2239205.874337583, 99735.17976518818 -2239205.9399951715, 99735.14742171612 -2239206.0005055517, 99735.10389472522 -2239206.053543343, 99735.05085693336 -2239206.0970703345, 99734.99034655314 -2239206.1294138064, 99734.92468896451 -2239206.149330818, 99734.8564073518 -2239206.15605597, 99734.67077661124 -2239206.15605597, 99734.67950197548 -2239206.1723799785, 99734.69941898725 -2239206.238037567, 99734.70614413911 -2239206.30631918, 99734.70614413911 -2239206.3917003134, 99734.75069900576 -2239206.4155153856, 99734.80373679762 -2239206.459042377, 99734.84726378851 -2239206.5120801684, 99734.8484787087 -2239206.514353124, 99734.85075164825 -2239206.5155680357, 99734.90378944011 -2239206.559095027, 99734.947316431 -2239206.6121328184, 99734.94853134349 -2239206.6144057596, 99734.95080429086 -2239206.6156206755, 99735.00084457983 -2239206.6566876797, 99735.0565126369 -2239206.6566876797, 99735.12479424961 -2239206.6634128317, 99735.19045183824 -2239206.6833298435, 99735.25096221846 -2239206.7156733153, 99735.301002508 -2239206.75674032, 99735.3566705646 -2239206.75674032, 99735.4249521773 -2239206.763465472, 99735.49060976593 -2239206.7833824838, 99735.55112014615 -2239206.8157259556, 99735.60415793801 -2239206.859252947, 99735.6476849289 -2239206.9122907384, 99735.68002840097 -2239206.9728011186, 99735.69994541274 -2239207.0384587073, 99735.70180978053 -2239207.0573879513, 99735.70421058062 -2239207.059358237, 99735.74773757151 -2239207.1123960284, 99735.78008104357 -2239207.1729064086, 99735.79999805534 -2239207.238563997, 99735.8067232072 -2239207.30684561, 99735.8067232072 -2239207.40689825, 99735.80179604473 -2239207.4569245703, 99735.8067232072 -2239207.50695089, 99735.8067232072 -2239207.70705618, 99735.80173959458 -2239207.757655648, 99735.80426322312 -2239207.7597267367, 99735.84779021401 -2239207.812764528, 99735.88013368608 -2239207.8732749084, 99735.90005069785 -2239207.938932497, 99735.90677584971 -2239208.00721411, 99735.90677584971 -2239208.1629348057, 99735.9478428566 -2239208.2129750983, 99735.98018632867 -2239208.2734854785, 99736.00010334044 -2239208.339143067, 99736.0068284923 -2239208.40742468, 99736.0068284923 -2239208.50747732, 99736.00190132983 -2239208.55750364, 99736.00196770823 -2239208.5581775913, 99736.00436850822 -2239208.560147877, 99736.04789549911 -2239208.6131856684, 99736.08023897118 -2239208.6736960486, 99736.10015598295 -2239208.739353637, 99736.10688113481 -2239208.80763525, 99736.10688113481 -2239209.00774053, 99736.1018975222 -2239209.058339998, 99736.10442115081 -2239209.060411087, 99736.1479481417 -2239209.1134488783, 99736.18029161377 -2239209.1739592585, 99736.20020862554 -2239209.239616847, 99736.2069337774 -2239209.30789846, 99736.2069337774 -2239209.3635665164, 99736.24800078421 -2239209.4136068085, 99736.28034425627 -2239209.4741171887, 99736.30026126804 -2239209.5397747774, 99736.3069864199 -2239209.60805639, 99736.3069864199 -2239209.6637244457, 99736.34805342682 -2239209.7137647383, 99736.38039689888 -2239209.7742751185, 99736.40031391065 -2239209.839932707, 99736.40703906251 -2239209.90821432, 99736.40703906251 -2239210.0633865455, 99736.4254786028 -2239210.065202682, 99736.49113619143 -2239210.0851196935, 99736.55164657165 -2239210.1174631654, 99736.60468436351 -2239210.1609901567, 99736.6482113544 -2239210.214027948, 99736.68055482647 -2239210.2745383284, 99736.70047183824 -2239210.340195917, 99736.7071969901 -2239210.40847753, 99736.7071969901 -2239210.60858281, 99736.70221337749 -2239210.659182278, 99736.70473700612 -2239210.6612533666, 99736.74826399701 -2239210.714291158, 99736.74947890984 -2239210.7165641002, 99736.75175185685 -2239210.7177790157, 99736.80478964871 -2239210.761306007, 99736.8483166396 -2239210.8143437984, 99736.88066011167 -2239210.8748541786, 99736.90057712344 -2239210.9405117673, 99736.9073022753 -2239211.00879338, 99736.9073022753 -2239211.0941745136, 99736.95185714196 -2239211.1179895857, 99737.00489493382 -2239211.161516577, 99737.00686522608 -2239211.163917385, 99737.02579445821 -2239211.1657817517, 99737.09145204684 -2239211.1856987635, 99737.15196242706 -2239211.2180422354, 99737.20500021892 -2239211.2615692266, 99737.24852720981 -2239211.314607018, 99737.24974212269 -2239211.3168799602, 99737.25201506955 -2239211.3180948757, 99737.30505286141 -2239211.361621867, 99737.3485798523 -2239211.4146596584, 99737.34979476478 -2239211.4169325996, 99737.35206771216 -2239211.4181475155, 99737.40510550402 -2239211.461674507, 99737.44863249491 -2239211.5147122983, 99737.44984740744 -2239211.51698524, 99737.45212035466 -2239211.5182001553, 99737.50515814652 -2239211.5617271466, 99737.5071284392 -2239211.564127955, 99737.52605767091 -2239211.565992322, 99737.59171525954 -2239211.5859093335, 99737.65222563976 -2239211.6182528054, 99737.70526343162 -2239211.6617797967, 99737.74879042251 -2239211.714817588, 99737.75000533534 -2239211.7170905303, 99737.75227828235 -2239211.7183054457, 99737.80531607421 -2239211.761832437, 99737.8488430651 -2239211.8148702285, 99737.85005797763 -2239211.81714317, 99737.85233092486 -2239211.8183580856, 99737.90536871672 -2239211.861885077, 99737.94889570761 -2239211.9149228684, 99737.98123917967 -2239211.9754332486, 99738.00115619144 -2239212.041090837, 99738.0078813433 -2239212.10937245, 99738.0078813433 -2239212.2094251, 99738.00115619144 -2239212.277706713, 99737.98123917967 -2239212.3433643016, 99737.94889570761 -2239212.403874682, 99737.90536871672 -2239212.4569124733, 99737.85233092486 -2239212.5004394646, 99737.85005797763 -2239212.50165438, 99737.8488430651 -2239212.5039273216, 99737.80531607421 -2239212.556965113, 99737.75227828235 -2239212.6004921044, 99737.750005335 -2239212.6017070203, 99737.74879042251 -2239212.6039799615, 99737.74414890668 -2239212.609635665, 99737.74879042251 -2239212.615291368, 99737.78113389458 -2239212.6758017484, 99737.80105090635 -2239212.741459337, 99737.80777605821 -2239212.80974095, 99737.80777605821 -2239212.85995152, 99737.8579866284 -2239212.85995152, 99737.9262682411 -2239212.866676672, 99737.99192582973 -2239212.8865936836, 99738.05243620995 -2239212.9189371555, 99738.10547400182 -2239212.962464147, 99738.14900099271 -2239213.0155019383, 99738.15021590519 -2239213.0177748795, 99738.15248885256 -2239213.0189897954, 99738.20552664442 -2239213.0625167866, 99738.24905363531 -2239213.115554578, 99738.28139710738 -2239213.1760649583, 99738.30131411915 -2239213.241722547, 99738.30803927101 -2239213.31000416, 99738.30803927101 -2239213.41005681, 99738.30131411915 -2239213.4783384227, 99738.28139710738 -2239213.5439960114, 99738.24905363531 -2239213.6045063916, 99738.2079866284 -2239213.654546684, 99738.2079866284 -2239213.71021473, 99738.20126147654 -2239213.7784963427, 99738.1816023578 -2239213.843303772, 99738.20552664442 -2239213.862937927, 99738.24905363531 -2239213.9159757183, 99738.28139710738 -2239213.9764860985, 99738.30131411915 -2239214.042143687, 99738.30803927101 -2239214.1104253, 99738.30803927101 -2239214.31053059, 99738.30131411915 -2239214.3788122027, 99738.28139710738 -2239214.4444697914, 99738.24905363531 -2239214.5049801716, 99738.20552664442 -2239214.558017963, 99738.15248885256 -2239214.6015449543, 99738.15021590554 -2239214.60275987, 99738.14900099271 -2239214.605032812, 99738.10547400182 -2239214.6580706034, 99738.05243620995 -2239214.7015975947, 99737.99192582973 -2239214.7339410665, 99737.98372643965 -2239214.736428324, 99737.98123917967 -2239214.7446277216, 99737.94889570761 -2239214.805138102, 99737.90536871672 -2239214.8581758933, 99737.85233092486 -2239214.9017028846, 99737.79182054463 -2239214.9340463565, 99737.72616295601 -2239214.953963368, 99737.6578813433 -2239214.96068852, 99737.60221328623 -2239214.96068852, 99737.55217299725 -2239215.0017555244, 99737.49166261703 -2239215.0340989963, 99737.4260050284 -2239215.054016008, 99737.40707578755 -2239215.0558803757, 99737.40510550402 -2239215.058281173, 99737.35206771216 -2239215.1018081643, 99737.34979476513 -2239215.1030230797, 99737.3485798523 -2239215.105296022, 99737.30505286141 -2239215.1583338133, 99737.30183084974 -2239215.16097805, 99737.30505286141 -2239215.1636222866, 99737.3485798523 -2239215.216660078, 99737.38092332437 -2239215.2771704583, 99737.40084033614 -2239215.342828047, 99737.407565488 -2239215.41110966, 99737.407565488 -2239215.4964907933, 99737.45212035466 -2239215.5203058654, 99737.50515814652 -2239215.5638328567, 99737.54868513742 -2239215.616870648, 99737.58102860948 -2239215.6773810284, 99737.60094562125 -2239215.743038617, 99737.60767077311 -2239215.81132023, 99737.60767077311 -2239215.8967013634, 99737.65222563976 -2239215.9205164355, 99737.70526343162 -2239215.964043427, 99737.74879042251 -2239216.0170812183, 99737.78113389458 -2239216.0775915985, 99737.78362115128 -2239216.085790985, 99737.79182054463 -2239216.088278244, 99737.85233092486 -2239216.1206217157, 99737.90536871672 -2239216.164148707, 99737.94889570761 -2239216.2171864985, 99737.98123917967 -2239216.2776968786, 99737.98372643965 -2239216.285896276, 99737.99192582973 -2239216.2883835337, 99738.05243620995 -2239216.3207270056, 99738.10547400182 -2239216.364253997, 99738.14900099271 -2239216.4172917884, 99738.18134446477 -2239216.4778021686, 99738.20126147654 -2239216.543459757, 99738.20307761295 -2239216.5618992997, 99738.2581971987 -2239216.5618992997, 99738.30822351994 -2239216.5668264623, 99738.3582498412 -2239216.5618992997, 99738.7584604114 -2239216.5618992997, 99738.8267420241 -2239216.5686244518, 99738.89239961273 -2239216.5885414635, 99738.95290999295 -2239216.6208849354, 99739.00594778481 -2239216.6644119266, 99739.00791806876 -2239216.6668127244, 99739.02684730921 -2239216.668677092, 99739.09250489784 -2239216.688594104, 99739.15301527806 -2239216.7209375757, 99739.20605306992 -2239216.764464567, 99739.24958006082 -2239216.8175023585, 99739.28192353288 -2239216.8780127387, 99739.30184054465 -2239216.9436703273, 99739.30856569651 -2239217.01195194, 99739.30856569651 -2239217.11200458, 99739.30184054465 -2239217.180286193, 99739.2942768954 -2239217.205220203, 99739.32488970796 -2239217.1888573137, 99739.39054729659 -2239217.168940302, 99739.40947653746 -2239217.1670759344, 99739.41144682099 -2239217.164675137, 99739.46448461285 -2239217.1211481458, 99739.52499499307 -2239217.088804674, 99739.5906525817 -2239217.068887662, 99739.60958182214 -2239217.0670232945, 99739.61155210609 -2239217.0646224967, 99739.66458989795 -2239217.0210955054, 99739.71067008185 -2239216.996465134, 99739.71586991646 -2239216.9436703273, 99739.73578692823 -2239216.8780127387, 99739.76813040029 -2239216.8175023585, 99739.81165739118 -2239216.764464567, 99739.86469518305 -2239216.7209375757, 99739.92520556327 -2239216.688594104, 99739.99086315189 -2239216.668677092, 99740.0591447646 -2239216.66195194, 99740.1591974072 -2239216.66195194, 99740.20922372845 -2239216.6668791026, 99740.2592500497 -2239216.66195194, 99740.3593026923 -2239216.66195194, 99740.42758430501 -2239216.668677092, 99740.49324189364 -2239216.688594104, 99740.55375227386 -2239216.7209375757, 99740.60679006572 -2239216.764464567, 99740.65031705661 -2239216.8175023585, 99740.68266052868 -2239216.8780127387, 99740.70257754045 -2239216.9436703273, 99740.70930269231 -2239217.01195194, 99740.70930269231 -2239217.21205722, 99740.70257754045 -2239217.2803388326, 99740.68266052868 -2239217.3459964213, 99740.65031705661 -2239217.4065068015, 99740.60679006572 -2239217.459544593, 99740.60438926567 -2239217.4615148786, 99740.60432288726 -2239217.46218883, 99740.6092500497 -2239217.51221515, 99740.6092500497 -2239217.71232044, 99740.60252489784 -2239217.780602053, 99740.58260788607 -2239217.8462596415, 99740.550264414 -2239217.9067700217, 99740.50673742311 -2239217.959807813, 99740.45369963125 -2239218.0033348044, 99740.39318925103 -2239218.0356782763, 99740.3275316624 -2239218.055595288, 99740.2592500497 -2239218.06232044, 99740.1591974072 -2239218.06232044, 99740.1091710859 -2239218.0573932775, 99740.10849713645 -2239218.0574596557, 99740.10652685292 -2239218.059860453, 99740.05348906106 -2239218.1033874443, 99739.99297868084 -2239218.135730916, 99739.98477928748 -2239218.138218175, 99739.98229203078 -2239218.1464175615, 99739.94994855871 -2239218.2069279416, 99739.90642156782 -2239218.259965733, 99739.85338377596 -2239218.3034927244, 99739.79287339574 -2239218.3358361963, 99739.72721580711 -2239218.355753208, 99739.70828657539 -2239218.3576175747, 99739.70631628271 -2239218.3600183832, 99739.65327849085 -2239218.4035453745, 99739.59276811063 -2239218.4358888464, 99739.527110522 -2239218.455805858, 99739.4588289093 -2239218.46253101, 99739.3587762667 -2239218.46253101, 99739.290494654 -2239218.455805858, 99739.27887399775 -2239218.4522807705, 99739.24958006082 -2239218.507085872, 99739.20605306992 -2239218.5601236634, 99739.15301527806 -2239218.6036506547, 99739.15074233084 -2239218.60486557, 99739.14952741831 -2239218.6071385117, 99739.10600042742 -2239218.6601763032, 99739.05296263556 -2239218.7037032945, 99738.99245225533 -2239218.7360467664, 99738.92679466671 -2239218.755963778, 99738.87399986494 -2239218.7611636124, 99738.8493694906 -2239218.8072438017, 99738.80584249971 -2239218.860281593, 99738.75280470785 -2239218.9038085844, 99738.69229432763 -2239218.9361520563, 99738.626636739 -2239218.956069068, 99738.5583551263 -2239218.96279422, 99738.4583024838 -2239218.96279422, 99738.4082761625 -2239218.9578670575, 99738.40362304353 -2239218.9583253497, 99738.40136676174 -2239218.981233763, 99738.38144974997 -2239219.0468913517, 99738.3491062779 -2239219.107401732, 99738.30557928701 -2239219.1604395234, 99738.25254149515 -2239219.2039665147, 99738.2502685478 -2239219.2051814306, 99738.24905363531 -2239219.2074543717, 99738.20552664442 -2239219.2604921632, 99738.15248885256 -2239219.3040191545, 99738.09197847234 -2239219.3363626264, 99738.02632088371 -2239219.356279638, 99737.958039271 -2239219.36300479, 99737.70226592873 -2239219.36300479, 99737.65222563976 -2239219.4040717944, 99737.59171525954 -2239219.4364152662, 99737.52605767091 -2239219.456332278, 99737.4577760582 -2239219.46305743, 99737.30205535909 -2239219.46305743, 99737.25201506955 -2239219.5041244347, 99737.19150468933 -2239219.5364679066, 99737.1258471007 -2239219.5563849183, 99737.057565488 -2239219.5631100703, 99736.9575128455 -2239219.5631100703, 99736.8892312328 -2239219.5563849183, 99736.82357364417 -2239219.5364679066, 99736.76306326395 -2239219.5041244347, 99736.71002547209 -2239219.4605974434, 99736.70795438564 -2239219.458073817, 99736.6573549178 -2239219.46305743, 99736.4572496327 -2239219.46305743, 99736.38896802 -2239219.456332278, 99736.32331043137 -2239219.4364152662, 99736.26280005115 -2239219.4040717944, 99736.20976225928 -2239219.360544803, 99736.16623526839 -2239219.3075070116, 99736.16502035591 -2239219.3052340704, 99736.16274740854 -2239219.3040191545, 99736.11270711957 -2239219.2629521503, 99736.0570390625 -2239219.2629521503, 99735.9887574498 -2239219.2562269983, 99735.92309986117 -2239219.2363099866, 99735.86258948095 -2239219.2039665147, 99735.80955168909 -2239219.1604395234, 99735.7660246982 -2239219.107401732, 99735.76480977805 -2239219.1051287763, 99735.76253683835 -2239219.1039138646, 99735.70949904648 -2239219.0603868733, 99735.66597205559 -2239219.007349082, 99735.63362858353 -2239218.9468387016, 99735.61371157176 -2239218.881181113, 99735.6069864199 -2239218.8128995, 99735.6069864199 -2239218.71284686, 99735.61191358234 -2239218.66282054, 99735.6069864199 -2239218.61279422, 99735.6069864199 -2239218.41268893, 99735.61197003162 -2239218.362089471, 99735.60944640398 -2239218.3600183832, 99735.56591941309 -2239218.3069805917, 99735.53357594102 -2239218.2464702115, 99735.51365892925 -2239218.180812623, 99735.50693377739 -2239218.11253101, 99735.50693377739 -2239218.01247836, 99735.51191738911 -2239217.961878901, 99735.50939376139 -2239217.959807813, 99735.5074234687 -2239217.9574070047, 99735.488494237 -2239217.955542638, 99735.42283664837 -2239217.9356256262, 99735.36232626815 -2239217.9032821544, 99735.30928847629 -2239217.859755163, 99735.2657614854 -2239217.8067173716, 99735.23341801333 -2239217.7462069914, 99735.21350100156 -2239217.6805494027, 99735.2067758497 -2239217.61226779, 99735.2067758497 -2239217.5268866564, 99735.16222098304 -2239217.5030715843, 99735.11218069406 -2239217.46200458, 99734.8564073518 -2239217.46200458, 99734.80638103056 -2239217.4570774175, 99734.7563547093 -2239217.46200458, 99734.6563020667 -2239217.46200458, 99734.60570259861 -2239217.4570209673, 99734.60363151252 -2239217.459544593, 99734.55059372066 -2239217.5030715843, 99734.49008334044 -2239217.535415056, 99734.42442575181 -2239217.555332068, 99734.3561441391 -2239217.56205722, 99734.2560914965 -2239217.56205722, 99734.20606517524 -2239217.5571300574, 99734.156038854 -2239217.56205722, 99734.0559862114 -2239217.56205722, 99733.9877045987 -2239217.555332068, 99733.95593356885 -2239217.5456944313, 99733.92416253901 -2239217.555332068, 99733.90523330729 -2239217.5571964346, 99733.90326301461 -2239217.559597243, 99733.85022522275 -2239217.6031242344, 99733.84795227574 -2239217.60433915, 99733.84673736291 -2239217.606612092, 99733.80321037202 -2239217.6596498834, 99733.75017258016 -2239217.7031768747, 99733.68966219993 -2239217.7355203466, 99733.62400461131 -2239217.7554373583, 99733.5557229986 -2239217.7621625103, 99733.4556703561 -2239217.7621625103, 99733.38738874339 -2239217.7554373583, 99733.35561771355 -2239217.7457997217, 99733.3238466837 -2239217.7554373583, 99733.255565071 -2239217.7621625103, 99733.19989701382 -2239217.7621625103, 99733.14985672485 -2239217.8032295145, 99733.08934634463 -2239217.8355729864, 99733.023688756 -2239217.855489998, 99732.9554071433 -2239217.86221515, 99732.8553545008 -2239217.86221515, 99732.7870728881 -2239217.855489998, 99732.72141529947 -2239217.8355729864, 99732.66090491925 -2239217.8032295145, 99732.60786712739 -2239217.7597025232, 99732.6057960413 -2239217.7571788975, 99732.5551965731 -2239217.7621625103, 99732.4551439306 -2239217.7621625103, 99732.38686231789 -2239217.7554373583, 99732.32120472926 -2239217.7355203466, 99732.26069434904 -2239217.7031768747, 99732.2106540595 -2239217.66210987, 99732.1549860029 -2239217.66210987, 99732.0867043902 -2239217.655384718, 99732.02104680157 -2239217.6354677062, 99731.96053642135 -2239217.6031242344, 99731.90749862949 -2239217.559597243, 99731.8639716386 -2239217.5065594516, 99731.86275671844 -2239217.504286496, 99731.86048377874 -2239217.5030715843, 99731.80744598688 -2239217.459544593, 99731.76391899599 -2239217.4065068015, 99731.73157552393 -2239217.3459964213, 99731.71165851215 -2239217.2803388326, 99731.70493336029 -2239217.21205722, 99731.70493336029 -2239217.01195194, 99731.71165851215 -2239216.9436703273, 99731.73157552393 -2239216.8780127387, 99731.76391899599 -2239216.8175023585, 99731.8049860029 -2239216.767462066, 99731.8049860029 -2239216.61174137, 99731.81171115476 -2239216.543459757, 99731.83162816653 -2239216.4778021686, 99731.8639716386 -2239216.4172917884, 99731.90503864549 -2239216.367251496, 99731.90503864549 -2239216.31158344, 99731.90996580794 -2239216.26155712, 99731.90503864549 -2239216.2115308, 99731.90503864549 -2239216.11147815, 99731.91176379735 -2239216.043196537, 99731.93168080912 -2239215.9775389484, 99731.96402428119 -2239215.917028568, 99732.005091288 -2239215.866988276, 99732.005091288 -2239215.71126758, 99732.01181643986 -2239215.642985967, 99732.02145407554 -2239215.61121494, 99732.01181643986 -2239215.579443913, 99732.005091288 -2239215.5111623, 99732.005091288 -2239215.41110966, 99732.01001845092 -2239215.361083335, 99732.00995207312 -2239215.3604093897, 99732.00755127208 -2239215.3584391032, 99731.96402428119 -2239215.3054013117, 99731.93168080912 -2239215.2448909315, 99731.91176379735 -2239215.179233343, 99731.90989942956 -2239215.160304099, 99731.90749862949 -2239215.1583338133, 99731.8639716386 -2239215.105296022, 99731.83162816653 -2239215.0447856416, 99731.81171115476 -2239214.979128053, 99731.80984678802 -2239214.9601988196, 99731.80744598688 -2239214.958228533, 99731.76391899599 -2239214.9051907416, 99731.73157552393 -2239214.8446803614, 99731.71165851215 -2239214.779022773, 99731.70979414435 -2239214.760093529, 99731.70739334439 -2239214.758123243, 99731.6638663535 -2239214.7050854517, 99731.63152288143 -2239214.6445750715, 99731.61160586966 -2239214.578917483, 99731.6048807178 -2239214.51063587, 99731.6048807178 -2239214.41058323, 99731.60980788028 -2239214.36055691, 99731.60974150187 -2239214.3598829587, 99731.60734070178 -2239214.357912673, 99731.56381371089 -2239214.3048748816, 99731.53147023883 -2239214.2443645014, 99731.51155322706 -2239214.178706913, 99731.50968886031 -2239214.1597776795, 99731.50728805928 -2239214.157807393, 99731.46376106839 -2239214.1047696015, 99731.4625461559 -2239214.1024966603, 99731.46027320855 -2239214.1012817444, 99731.40723541669 -2239214.057754753, 99731.3637084258 -2239214.0047169616, 99731.33136495373 -2239213.9442065815, 99731.31144794196 -2239213.878548993, 99731.30958357417 -2239213.859619749, 99731.30718277418 -2239213.857649463, 99731.26365578329 -2239213.8046116717, 99731.2624408708 -2239213.8023387305, 99731.26016792345 -2239213.8011238147, 99731.20713013159 -2239213.7575968234, 99731.1636031407 -2239213.704559032, 99731.16238822782 -2239213.70228609, 99731.16011528095 -2239213.7010711743, 99731.10707748908 -2239213.657544183, 99731.1051071964 -2239213.6551433746, 99731.0861779647 -2239213.653279008, 99731.02052037607 -2239213.633361996, 99730.96000999585 -2239213.6010185243, 99730.90697220399 -2239213.557491533, 99730.90500192046 -2239213.5550907357, 99730.8860726795 -2239213.553226368, 99730.82041509087 -2239213.5333093563, 99730.75990471065 -2239213.5009658844, 99730.70686691879 -2239213.457438893, 99730.6633399279 -2239213.4044011016, 99730.63952485814 -2239213.35984624, 99730.554143722 -2239213.35984624, 99730.48586210929 -2239213.353121088, 99730.42020452066 -2239213.333204076, 99730.35969414044 -2239213.3008606043, 99730.30665634858 -2239213.257333613, 99730.30468605632 -2239213.254932805, 99730.28575682419 -2239213.2530684383, 99730.22009923556 -2239213.2331514265, 99730.15958885534 -2239213.2008079547, 99730.1095485658 -2239213.15974095, 99729.9538278667 -2239213.15974095, 99729.885546254 -2239213.153015798, 99729.81988866537 -2239213.133098786, 99729.75937828515 -2239213.1007553143, 99729.70933799617 -2239213.05968831, 99729.6536699391 -2239213.05968831, 99729.58538832639 -2239213.052963158, 99729.51973073777 -2239213.0330461464, 99729.45922035754 -2239213.0007026745, 99729.40618256568 -2239212.957175683, 99729.36265557479 -2239212.9041378917, 99729.36144066231 -2239212.9018649505, 99729.35916771494 -2239212.9006500347, 99729.30612992308 -2239212.8571230434, 99729.26260293218 -2239212.804085252, 99729.26138801203 -2239212.8018122963, 99729.25911507235 -2239212.8005973846, 99729.20607728048 -2239212.7570703933, 99729.16255028959 -2239212.704032602, 99729.13020681753 -2239212.6435222216, 99729.11028980576 -2239212.577864633, 99729.10842543902 -2239212.5589353996, 99729.10602463798 -2239212.556965113, 99729.10405435445 -2239212.554564316, 99729.08512511359 -2239212.552699948, 99729.01946752497 -2239212.5327829365, 99728.95895714474 -2239212.5004394646, 99728.90891684328 -2239212.45937245, 99728.7531961561 -2239212.45937245, 99728.6849145434 -2239212.452647298, 99728.65314351355 -2239212.4430096615, 99728.62137248371 -2239212.452647298, 99728.553090871 -2239212.45937245, 99728.4530382284 -2239212.45937245, 99728.38475661569 -2239212.452647298, 99728.31909902707 -2239212.4327302864, 99728.25858864684 -2239212.4003868145, 99728.20854835787 -2239212.3593198103, 99727.8527223731 -2239212.3593198103, 99727.7844407604 -2239212.3525946583, 99727.71878317177 -2239212.3326776465, 99727.65827279155 -2239212.3003341747, 99727.60523499969 -2239212.2568071834, 99727.60326471574 -2239212.2544063856, 99727.58433547529 -2239212.252542018, 99727.51867788666 -2239212.232625006, 99727.45816750644 -2239212.2002815343, 99727.40512971458 -2239212.156754543, 99727.4031594219 -2239212.1543537346, 99727.38423019019 -2239212.152489368, 99727.31857260157 -2239212.132572356, 99727.25806222134 -2239212.1002288843, 99727.20502442948 -2239212.056701893, 99727.16149743859 -2239212.0036641015, 99727.1602825261 -2239212.0013911603, 99727.15800957875 -2239212.0001762444, 99727.10497178689 -2239211.956649253, 99727.061444796 -2239211.9036114616, 99727.02910132393 -2239211.8431010814, 99727.00918431216 -2239211.777443493, 99727.0024591603 -2239211.70916188, 99727.0024591603 -2239211.5090566, 99727.00918431216 -2239211.440774987, 99727.02910132393 -2239211.3751173983, 99727.061444796 -2239211.314607018, 99727.10497178689 -2239211.2615692266, 99727.15800957875 -2239211.2180422354, 99727.16028251879 -2239211.2168273237, 99727.16149743859 -2239211.2145543685, 99727.20502442948 -2239211.161516577, 99727.25806222134 -2239211.1179895857, 99727.31857260157 -2239211.085646114, 99727.38423019019 -2239211.065729102, 99727.40315943063 -2239211.0638647345, 99727.40512971458 -2239211.0614639367, 99727.45816750644 -2239211.0179369454, 99727.51867788666 -2239210.9855934735, 99727.58433547529 -2239210.965676462, 99727.652617088 -2239210.95895131, 99727.70828514507 -2239210.95895131, 99727.75832543404 -2239210.9178843056, 99727.81883581427 -2239210.8855408337, 99727.88449340289 -2239210.865623822, 99727.9527750156 -2239210.85889867, 99728.50870628557 -2239210.85889867, 99728.55874657455 -2239210.8178316657, 99728.61925695477 -2239210.785488194, 99728.6849145434 -2239210.765571182, 99728.7531961561 -2239210.75884603, 99728.90891684328 -2239210.75884603, 99728.95895714474 -2239210.7177790157, 99729.00351201139 -2239210.6939639435, 99729.00351201139 -2239210.652967404, 99728.9624450045 -2239210.6029271116, 99728.93010153243 -2239210.5424167314, 99728.92761427246 -2239210.534217334, 99728.91941488237 -2239210.5317300763, 99728.85890450215 -2239210.4993866044, 99728.80886421318 -2239210.4583196, 99728.7531961561 -2239210.4583196, 99728.7031698348 -2239210.4533924377, 99728.6531435135 -2239210.4583196, 99727.99715960103 -2239210.4583196, 99727.94711931206 -2239210.4993866044, 99727.88660893183 -2239210.5317300763, 99727.82095134321 -2239210.551647088, 99727.7526697305 -2239210.55837224, 99727.1523538752 -2239210.55837224, 99727.08407226249 -2239210.551647088, 99727.01841467386 -2239210.5317300763, 99726.95790429364 -2239210.4993866044, 99726.90486650178 -2239210.455859613, 99726.90289621825 -2239210.453458816, 99726.88396697739 -2239210.451594448, 99726.81830938876 -2239210.4316774365, 99726.75779900854 -2239210.3993339646, 99726.707758719 -2239210.35826696, 99726.6520906625 -2239210.35826696, 99726.58380904979 -2239210.351541808, 99726.5520380199 -2239210.3419041713, 99726.52026699 -2239210.351541808, 99726.50133774956 -2239210.3534061755, 99726.49936746561 -2239210.3558069733, 99726.44632967375 -2239210.3993339646, 99726.44405672654 -2239210.40054888, 99726.44284181402 -2239210.4028218216, 99726.4017748071 -2239210.452862114, 99726.4017748071 -2239210.90874074, 99726.39504965524 -2239210.9770223526, 99726.37513264347 -2239211.0426799413, 99726.34278917141 -2239211.1031903215, 99726.29926218052 -2239211.156228113, 99726.29686138059 -2239211.1581983985, 99726.29499701274 -2239211.177127643, 99726.27508000097 -2239211.2427852317, 99726.2427365289 -2239211.303295612, 99726.20166952201 -2239211.3533359044, 99726.20166952201 -2239211.40900395, 99726.19494437015 -2239211.477285563, 99726.17502735837 -2239211.5429431517, 99726.14268388631 -2239211.603453532, 99726.09915689542 -2239211.6564913234, 99726.04611910356 -2239211.7000183146, 99726.04384616365 -2239211.7012332263, 99726.0426312438 -2239211.7035061815, 99725.99910425291 -2239211.756543973, 99725.94606646105 -2239211.8000709643, 99725.88555608083 -2239211.832414436, 99725.8198984922 -2239211.852331448, 99725.7516168795 -2239211.8590566, 99725.6515642369 -2239211.8590566, 99725.5832826242 -2239211.852331448, 99725.51762503557 -2239211.832414436, 99725.45711465535 -2239211.8000709643, 99725.40407686349 -2239211.756543973, 99725.3605498726 -2239211.7035061815, 99725.35933495275 -2239211.7012332263, 99725.35706201284 -2239211.7000183146, 99725.30402422098 -2239211.6564913234, 99725.26049723009 -2239211.603453532, 99725.22815375803 -2239211.5429431517, 99725.20823674626 -2239211.477285563, 99725.20637237951 -2239211.4583563297, 99725.20397157838 -2239211.456386043, 99725.16044458748 -2239211.4033482517, 99725.12810111542 -2239211.3428378715, 99725.10818410365 -2239211.277180283, 99725.10145895179 -2239211.20889867, 99725.10145895179 -2239210.50853017, 99725.10818410365 -2239210.4402485574, 99725.12810111542 -2239210.3745909687, 99725.16044458748 -2239210.3140805885, 99725.2015115944 -2239210.264040296), 
+  (99729.4984977109 -2239209.7583196, 99729.5536172965 -2239209.7583196, 99729.60421676433 -2239209.763303213, 99729.60628785078 -2239209.7607795866, 99729.60868865077 -2239209.758809301, 99729.61055301856 -2239209.739880057, 99729.63047003033 -2239209.6742224684, 99729.6628135024 -2239209.613712088, 99729.70388050929 -2239209.5636717957, 99729.70388050929 -2239209.50800375, 99729.70880767224 -2239209.457977425, 99729.70388050929 -2239209.4079511, 99729.70388050929 -2239209.352283054, 99729.6628135024 -2239209.3022427615, 99729.66159858255 -2239209.2999698063, 99729.65932564264 -2239209.2987548946, 99729.60628785078 -2239209.2552279034, 99729.60421676433 -2239209.252704277, 99729.5536172965 -2239209.25768789, 99729.3033014412 -2239209.25768789, 99729.3033014412 -2239209.30789846, 99729.29837427876 -2239209.35792478, 99729.3033014412 -2239209.4079511, 99729.3033014412 -2239209.4933322333, 99729.34785630785 -2239209.5171473054, 99729.40089409972 -2239209.5606742967, 99729.44442109061 -2239209.613712088, 99729.47676456267 -2239209.6742224684, 99729.49668157444 -2239209.739880057, 99729.4984977109 -2239209.7583196))
+    </op>
+  </test>
+
+  <test>
+    <desc>buffer-0.75: see http://trac.osgeo.org/geos/wiki/BufferRobustness</desc>
+    <op name="buffer" arg1="a" arg2="0.75">
+      POLYGON((99724.80151159 -2239210.14114081,99724.80151159 -2239209.90821432,99724.81592263 -2239209.76189657,99724.85860194 -2239209.62120174,99724.9042938714 -2239209.53571816,99724.90156424 -2239209.50800375,99724.90156424 -2239209.4079511,99724.91597528 -2239209.26163336,99724.95865459 -2239209.12093853,99725.02796203 -2239208.99127343,99725.0428380369 -2239208.97314696,99725.05870723 -2239208.92083324,99725.12801467 -2239208.79116814,99725.22128679 -2239208.67751573,99725.2762402889 -2239208.63241656,99725.32133944 -2239208.57746309,99725.3762929231 -2239208.53236393,99725.42139208 -2239208.47741045,99725.4763455623 -2239208.43231129,99725.52144472 -2239208.3773578,99725.5763982031 -2239208.33225864,99725.62149736 -2239208.27730516,99725.6764508589 -2239208.23220599,99725.72155001 -2239208.17725252,99725.83520242 -2239208.0839804,99725.96486752 -2239208.01467296,99726.0171812128 -2239207.99880377,99726.0353077 -2239207.98392775,99726.1649728 -2239207.91462031,99726.30566764 -2239207.871941,99726.45198538 -2239207.85752996,99727.4525118 -2239207.85752996,99727.5025381233 -2239207.86245712,99727.55256445 -2239207.85752996,99727.8488737358 -2239207.85752996,99727.86018122 -2239207.82025418,99727.90314351 -2239207.73987739,99727.90314351 -2239207.60700354,99727.91755455 -2239207.4606858,99727.96023386 -2239207.31999096,99728.0295413 -2239207.19032586,99728.12281343 -2239207.07667345,99728.1777669131 -2239207.03157429,99728.22286607 -2239206.97662081,99728.2778195531 -2239206.93152165,99728.32291871 -2239206.87656817,99728.3778722081 -2239206.831469,99728.42297136 -2239206.77651552,99728.4779248283 -2239206.73141638,99728.523024 -2239206.67646288,99728.63667641 -2239206.58319076,99728.76634151 -2239206.51388332,99728.8010181124 -2239206.50336429,99728.82318193 -2239206.4763576,99728.93683434 -2239206.38308547,99729.06649944 -2239206.31377803,99729.118813149 -2239206.29790884,99729.13693962 -2239206.28303283,99729.26660472 -2239206.21372539,99729.40729956 -2239206.17104608,99729.5536173 -2239206.15663504,99729.5864384989 -2239206.15663504,99729.5979079113 -2239206.15050451,99729.60403844 -2239206.1390351,99729.60403844 -2239206.00616126,99729.61844948 -2239205.85984352,99729.66112879 -2239205.71914868,99729.73043623 -2239205.58948358,99729.82370835 -2239205.47583117,99729.8786618331 -2239205.43073201,99729.92376099 -2239205.37577853,99729.9787145011 -2239205.33067935,99730.02381364 -2239205.27572589,99730.13746605 -2239205.18245376,99730.26713115 -2239205.11314632,99730.3018077423 -2239205.10262729,99730.32397156 -2239205.0756206,99730.43762397 -2239204.98234848,99730.56728908 -2239204.91304104,99730.6196027728 -2239204.89717186,99730.63772926 -2239204.88229583,99730.76739436 -2239204.81298839,99730.90808919 -2239204.77030908,99731.05440693 -2239204.75589804,99731.0872281389 -2239204.75589804,99731.16760493 -2239204.71293575,99731.30829976 -2239204.67025644,99731.45461751 -2239204.6558454,99731.5874913489 -2239204.6558454,99731.66786814 -2239204.61288311,99731.7201818627 -2239204.59701392,99731.73830833 -2239204.58213791,99731.86797343 -2239204.51283047,99731.9026500223 -2239204.50231144,99731.92481384 -2239204.47530475,99731.979767316 -2239204.4302056,99732.02486649 -2239204.3752521,99732.0518731808 -2239204.35308828,99732.06239221 -2239204.31841169,99732.13169965 -2239204.18874659,99732.22497177 -2239204.07509417,99732.2799252531 -2239204.02999501,99732.32502441 -2239203.97504153,99732.43867683 -2239203.88176941,99732.56834193 -2239203.81246197,99732.70903676 -2239203.76978266,99732.8553545 -2239203.75537162,99733.15551243 -2239203.75537162,99733.30183017 -2239203.76978266,99733.442525 -2239203.81246197,99733.5721901 -2239203.88176941,99733.5903165651 -2239203.89664542,99733.64263029 -2239203.91251461,99733.77229539 -2239203.98182205,99733.8859478 -2239204.07509417,99733.9081116236 -2239204.10210087,99733.94278822 -2239204.1126199,99734.07245332 -2239204.18192734,99734.090579791 -2239204.19680335,99734.1428935 -2239204.21267254,99734.2725586 -2239204.28197998,99734.2906850673 -2239204.29685599,99734.34299879 -2239204.31272518,99734.4385623232 -2239204.36380495,99734.50246188 -2239204.37009851,99734.64315671 -2239204.41277782,99734.77282181 -2239204.48208526,99734.8634839262 -2239204.55648974,99735.00272509 -2239204.5702038,99735.14341993 -2239204.61288311,99735.27308503 -2239204.68219055,99735.38673744 -2239204.77546267,99735.48000956 -2239204.88911508,99735.549317 -2239205.01878018,99735.59199631 -2239205.15947502,99735.60640735 -2239205.30579276,99735.60640735 -2239205.80605597,99735.59199631 -2239205.95237371,99735.549317 -2239206.09306855,99735.48000956 -2239206.22273365,99735.38673744 -2239206.33638606,99735.3863763185 -2239206.33668242,99735.439088742 -2239206.3648578,99735.50298831 -2239206.37115136,99735.64368314 -2239206.41383068,99735.77334824 -2239206.48313812,99735.88700065 -2239206.57641024,99735.98027277 -2239206.69006265,99736.04958021 -2239206.81972775,99736.0654493992 -2239206.87204146,99736.08032542 -2239206.89016794,99736.14963286 -2239207.01983304,99736.19231217 -2239207.16052787,99736.20672321 -2239207.30684561,99736.20672321 -2239207.40689825,99736.2017960474 -2239207.45692457,99736.20672321 -2239207.50695089,99736.20672321 -2239207.63982474,99736.2496855 -2239207.72020153,99736.29236481 -2239207.86089637,99736.30677585 -2239208.00721411,99736.30677585 -2239208.04003531,99736.34973814 -2239208.1204121,99736.39241745 -2239208.26110694,99736.40682849 -2239208.40742468,99736.40682849 -2239208.44024588,99736.44979078 -2239208.52062267,99736.4924701 -2239208.66131751,99736.50688113 -2239208.80763525,99736.50688113 -2239208.94050908,99736.54984343 -2239209.02088589,99736.59252274 -2239209.16158072,99736.5988162972 -2239209.22548028,99736.64989607 -2239209.32104381,99736.69257538 -2239209.46173865,99736.6988689372 -2239209.52563821,99736.74994871 -2239209.62120174,99736.79262802 -2239209.76189657,99736.7967393798 -2239209.80363991,99736.88752708 -2239209.87814744,99736.9807992 -2239209.99179985,99737.05010664 -2239210.12146495,99737.09278595 -2239210.26215979,99737.10719699 -2239210.40847753,99737.10719699 -2239210.50230287,99737.18090448 -2239210.59211571,99737.25021192 -2239210.72178081,99737.2854776711 -2239210.83803638,99737.37419052 -2239210.88545439,99737.48784293 -2239210.97872651,99737.5329420869 -2239211.03367999,99737.58789557 -2239211.07877915,99737.6329947341 -2239211.13373264,99737.68794822 -2239211.1788318,99737.7101120377 -2239211.20583849,99737.74478863 -2239211.21635752,99737.87445373 -2239211.28566496,99737.98810614 -2239211.37893708,99738.0332052911 -2239211.43389055,99738.08815879 -2239211.47898972,99738.1332579599 -2239211.53394322,99738.18821143 -2239211.57904237,99738.28148355 -2239211.69269478,99738.35079099 -2239211.82235988,99738.3934703 -2239211.96305471,99738.40788134 -2239212.10937245,99738.40788134 -2239212.20942509,99738.3934703 -2239212.35574284,99738.35079099 -2239212.49643767,99738.2941740377 -2239212.60236054,99738.38831671 -2239212.67962143,99738.4334158619 -2239212.73457491,99738.48836936 -2239212.77967408,99738.58164148 -2239212.89332649,99738.65094892 -2239213.02299159,99738.69362823 -2239213.16368642,99738.70803927 -2239213.31000416,99738.70803927 -2239213.41005681,99738.69362823 -2239213.55637455,99738.65094892 -2239213.69706938,99738.6171829562 -2239213.76024105,99738.65094892 -2239213.82341273,99738.69362823 -2239213.96410756,99738.70803927 -2239214.1104253,99738.70803927 -2239214.31053059,99738.69362823 -2239214.45684833,99738.65094892 -2239214.59754316,99738.58164148 -2239214.72720826,99738.48836936 -2239214.84086067,99738.4334158741 -2239214.88595983,99738.38831671 -2239214.94091332,99738.2784097438 -2239215.03111163,99738.18821143 -2239215.1410186,99738.07455902 -2239215.23429073,99737.94489392 -2239215.30359817,99737.8341295888 -2239215.33719816,99737.88127298 -2239215.39464255,99737.95058042 -2239215.52430765,99737.99325973 -2239215.66500249,99737.9957755359 -2239215.6905459,99738.0783044636 -2239215.79110768,99738.18821143 -2239215.881306,99738.2784097438 -2239215.99121297,99738.38831671 -2239216.08141128,99738.4543715263 -2239216.1618993,99738.75846041 -2239216.1618993,99738.90477815 -2239216.17631033,99739.04547299 -2239216.21898965,99739.17513809 -2239216.28829709,99739.193264561 -2239216.3031731,99739.24557827 -2239216.31904229,99739.37524337 -2239216.38834973,99739.48889578 -2239216.48162185,99739.5088552311 -2239216.50594251,99739.52881468 -2239216.48162185,99739.64246709 -2239216.38834973,99739.77213219 -2239216.31904229,99739.91282702 -2239216.27636298,99740.05914476 -2239216.26195194,99740.15919741 -2239216.26195194,99740.20922373 -2239216.2668791,99740.25925005 -2239216.26195194,99740.35930269 -2239216.26195194,99740.50562043 -2239216.27636298,99740.64631527 -2239216.31904229,99740.77598037 -2239216.38834973,99740.88963278 -2239216.48162185,99740.9829049 -2239216.59527426,99741.05221234 -2239216.72493936,99741.09489165 -2239216.8656342,99741.10930269 -2239217.01195194,99741.10930269 -2239217.21205722,99741.09489165 -2239217.35837496,99741.05221234 -2239217.4990698,99741.00925005 -2239217.57944659,99741.00925005 -2239217.71232044,99740.99483901 -2239217.85863818,99740.9521597 -2239217.99933301,99740.88285226 -2239218.12899811,99740.78958014 -2239218.24265052,99740.67592772 -2239218.33592264,99740.54626262 -2239218.40523008,99740.40556779 -2239218.4479094,99740.25925005 -2239218.46232044,99740.255319081 -2239218.46232044,99740.18926428 -2239218.54280845,99740.07561187 -2239218.63608057,99739.94594677 -2239218.70538801,99739.8936330476 -2239218.7212572,99739.87550658 -2239218.73613321,99739.74584148 -2239218.80544066,99739.60514665 -2239218.84811997,99739.4659054834 -2239218.86183403,99739.4339422969 -2239218.88806554,99739.38884314 -2239218.94301902,99739.27519073 -2239219.03629114,99739.14552563 -2239219.10559858,99739.1108490276 -2239219.11611761,99739.08868521 -2239219.1431243,99738.9750328 -2239219.23639643,99738.8453677 -2239219.30570387,99738.70467287 -2239219.34838318,99738.6629295295 -2239219.35249454,99738.588422 -2239219.44328223,99738.5334685047 -2239219.4883814,99738.48836936 -2239219.54333487,99738.37471695 -2239219.636607,99738.24505185 -2239219.70591444,99738.10435701 -2239219.74859375,99737.95803927 -2239219.76300479,99737.8251654211 -2239219.76300479,99737.74478863 -2239219.80596708,99737.6040938 -2239219.84864639,99737.45777606 -2239219.86305743,99737.4249548511 -2239219.86305743,99737.34457806 -2239219.90601972,99737.20388323 -2239219.94869903,99737.05756549 -2239219.96311007,99736.95751285 -2239219.96311007,99736.8111951 -2239219.94869903,99736.67050027 -2239219.90601972,99736.5901234789 -2239219.86305743,99736.45724963 -2239219.86305743,99736.31093189 -2239219.84864639,99736.17023706 -2239219.80596708,99736.04057196 -2239219.73665964,99735.9362647377 -2239219.65105692,99735.91072132 -2239219.64854111,99735.77002649 -2239219.6058618,99735.64036139 -2239219.53655436,99735.52670898 -2239219.44328223,99735.4816098189 -2239219.38832875,99735.42665633 -2239219.34322959,99735.33338421 -2239219.22957718,99735.26407677 -2239219.09991208,99735.22139746 -2239218.95921724,99735.20698642 -2239218.8128995,99735.20698642 -2239218.71284686,99735.2119135826 -2239218.66282054,99735.20698642 -2239218.61279422,99735.20698642 -2239218.47992037,99735.16402413 -2239218.39954358,99735.12134482 -2239218.25884875,99735.1172334606 -2239218.21710542,99735.02644576 -2239218.14259788,99734.93317364 -2239218.02894547,99734.8638662 -2239217.89928037,99734.8524401864 -2239217.86161385,99734.80638103 -2239217.85707742,99734.75635471 -2239217.86200458,99734.7235335011 -2239217.86200458,99734.64315671 -2239217.90496687,99734.50246188 -2239217.94764618,99734.35614414 -2239217.96205722,99734.2560915 -2239217.96205722,99734.2060651767 -2239217.95713006,99734.15603885 -2239217.96205722,99734.0622135113 -2239217.96205722,99733.97240067 -2239218.03576472,99733.84273557 -2239218.10507216,99733.70204074 -2239218.14775147,99733.555723 -2239218.16216251,99733.45567036 -2239218.16216251,99733.3556177116 -2239218.15230819,99733.3379832532 -2239218.15404503,99733.24241972 -2239218.2051248,99733.10172488 -2239218.24780411,99732.95540714 -2239218.26221515,99732.8553545 -2239218.26221515,99732.70903676 -2239218.24780411,99732.56834193 -2239218.2051248,99732.4879651389 -2239218.16216251,99732.45514393 -2239218.16216251,99732.30882619 -2239218.14775147,99732.16813136 -2239218.10507216,99732.072567829 -2239218.05399239,99732.00866826 -2239218.04769883,99731.86797343 -2239218.00501951,99731.73830833 -2239217.93571207,99731.62465592 -2239217.84243995,99731.579556759 -2239217.78748647,99731.52460327 -2239217.74238731,99731.43133115 -2239217.6287349,99731.36202371 -2239217.4990698,99731.3193444 -2239217.35837496,99731.30493336 -2239217.21205722,99731.30493336 -2239217.01195194,99731.3193444 -2239216.8656342,99731.36202371 -2239216.72493936,99731.404986 -2239216.64456257,99731.404986 -2239216.61174137,99731.41939704 -2239216.46542363,99731.46207635 -2239216.32472879,99731.5077682803 -2239216.2392452,99731.50503865 -2239216.2115308,99731.50503865 -2239216.11147815,99731.51944969 -2239215.96516041,99731.562129 -2239215.82446558,99731.60509129 -2239215.74408879,99731.60509129 -2239215.71126758,99731.6149456152 -2239215.61121494,99731.60509129 -2239215.5111623,99731.60509129 -2239215.47834109,99731.562129 -2239215.3979643,99731.5462598148 -2239215.34565061,99731.53138379 -2239215.32752412,99731.46207635 -2239215.19785902,99731.4462071551 -2239215.1455453,99731.43133115 -2239215.12741883,99731.36202371 -2239214.99775373,99731.3461545199 -2239214.94544002,99731.33127851 -2239214.92731355,99731.26197107 -2239214.79764845,99731.21929176 -2239214.65695361,99731.20488072 -2239214.51063587,99731.20488072 -2239214.47781467,99731.16191843 -2239214.39743788,99731.151399397 -2239214.36276128,99731.1243927 -2239214.34059746,99731.03112058 -2239214.22694505,99730.96181314 -2239214.09727995,99730.9512941077 -2239214.06260335,99730.92428742 -2239214.04043953,99730.9021236047 -2239214.01343284,99730.867447 -2239214.00291381,99730.7377819 -2239213.93360637,99730.719655429 -2239213.91873036,99730.66734172 -2239213.90286117,99730.53767662 -2239213.83355373,99730.4333693977 -2239213.74795101,99730.40782598 -2239213.7454352,99730.26713115 -2239213.70275589,99730.13746605 -2239213.63344844,99730.1193395827 -2239213.61857243,99730.06702586 -2239213.60270324,99729.9866490689 -2239213.55974095,99729.95382787 -2239213.55974095,99729.80751013 -2239213.54532991,99729.66681529 -2239213.5026506,99729.5712517568 -2239213.45157083,99729.5073522 -2239213.44527727,99729.36665736 -2239213.40259796,99729.23699226 -2239213.33329052,99729.12333985 -2239213.24001839,99729.0782406931 -2239213.18506491,99729.02328721 -2239213.13996575,99728.9781880531 -2239213.08501227,99728.92323457 -2239213.03991311,99728.82996244 -2239212.9262607,99728.7974867573 -2239212.86550297,99728.7860173589 -2239212.85937245,99728.75319616 -2239212.85937245,99728.6531435116 -2239212.84951812,99728.55309087 -2239212.85937245,99728.45303823 -2239212.85937245,99728.30672049 -2239212.84496141,99728.16602565 -2239212.8022821,99728.0856488589 -2239212.75931981,99727.85272237 -2239212.75931981,99727.70640463 -2239212.74490877,99727.5657098 -2239212.70222946,99727.4360447 -2239212.63292202,99727.4179182327 -2239212.61804601,99727.36560451 -2239212.60217682,99727.23593941 -2239212.53286938,99727.21781293 -2239212.51799336,99727.16549923 -2239212.50212417,99727.03583413 -2239212.43281673,99726.92218172 -2239212.33954461,99726.8770825589 -2239212.28459113,99726.82212907 -2239212.23949197,99726.72885695 -2239212.12583956,99726.65954951 -2239211.99617446,99726.6168702 -2239211.85547962,99726.60245916 -2239211.70916188,99726.60245916 -2239211.5090566,99726.6066003423 -2239211.46701047,99726.5935520379 -2239211.49142213,99726.58725848 -2239211.5553217,99726.54457917 -2239211.69601653,99726.47527173 -2239211.82568163,99726.38199961 -2239211.93933404,99726.3270461269 -2239211.9844332,99726.28194697 -2239212.03938668,99726.16829455 -2239212.13265881,99726.03862945 -2239212.20196625,99725.89793462 -2239212.24464556,99725.75161688 -2239212.2590566,99725.65156424 -2239212.2590566,99725.5052465 -2239212.24464556,99725.36455166 -2239212.20196625,99725.23488656 -2239212.13265881,99725.12123415 -2239212.03938668,99725.0761349931 -2239211.9844332,99725.02118151 -2239211.93933404,99724.92790939 -2239211.82568163,99724.85860194 -2239211.69601653,99724.8427327449 -2239211.6437028,99724.82785674 -2239211.62557634,99724.7585493 -2239211.49591124,99724.71586999 -2239211.35521641,99724.70145895 -2239211.20889867,99724.70145895 -2239210.50853017,99724.71586999 -2239210.36221243,99724.7585493 -2239210.2215176,99724.80151159 -2239210.14114081),(99726.8770825589 -2239210.93362735,99726.8959962418 -2239210.91058097,99726.8653413 -2239210.90128189,99726.80177481 -2239210.86730489,99726.80177481 -2239210.90874074,99726.7911658513 -2239211.0164553,99726.82212907 -2239210.97872651,99726.8770825589 -2239210.93362735))
+    </op>
+  </test>
+
+  <test>
+    <desc>buffer-1.01 (#494)</desc>
+    <op name="buffer" arg1="a" arg2="1.01">
+      POLYGON ((99724.5415116 -2239210.07866999,99724.5415116 -2239209.9082143,99724.5609185 -2239209.7111731,99724.6183933 -2239209.521704,99724.6415642 -2239209.4783543,99724.6415642 -2239209.4079511,99724.6609711 -2239209.2109099,99724.7184459 -2239209.0214408,99724.8094364244 -2239208.85120953,99724.8184986 -2239208.8213356,99724.9118326 -2239208.6467199,99725.037439 -2239208.493668,99725.0923925052 -2239208.44856881,99725.1374917 -2239208.3936153,99725.19244517 -2239208.34851617,99725.2375443 -2239208.2935627,99725.2924978955 -2239208.24846343,99725.337597 -2239208.19351,99725.39255036 -2239208.14841096,99725.4376496 -2239208.0934574,99725.4926031603 -2239208.04835816,99725.5377022 -2239207.9934048,99725.6907542 -2239207.8677983,99725.8653698 -2239207.7744643,99725.8952440723 -2239207.76540204,99726.0654751 -2239207.6744116,99726.2549442 -2239207.6169368,99726.4519854 -2239207.59753,99727.4525118 -2239207.59753,99727.5025381 -2239207.60245714,99727.5525644 -2239207.59753,99727.64407656 -2239207.59753,99727.6625504 -2239207.4099623,99727.7200252 -2239207.2204933,99727.8133592 -2239207.0458776,99727.9389657 -2239206.8928257,99727.9939189892 -2239206.84772668,99728.0390183 -2239206.792773,99728.09397177 -2239206.74767387,99728.1390709 -2239206.6927204,99728.1940245825 -2239206.64762109,99728.2391236 -2239206.5926678,99728.2940769089 -2239206.54756877,99728.3391762 -2239206.4926151,99728.4922281 -2239206.3670087,99728.6537698364 -2239206.28066278,99728.7923861 -2239206.1669034,99728.9670017 -2239206.0735694,99728.9968758442 -2239206.06450717,99729.167107 -2239205.9735167,99729.3528016278 -2239205.91718687,99729.3634453 -2239205.80912,99729.4209201 -2239205.619651,99729.5142541 -2239205.4450353,99729.6398606 -2239205.2919834,99729.6948141603 -2239205.24688416,99729.7399132 -2239205.1919308,99729.7948667052 -2239205.14683161,99729.8399659 -2239205.0918781,99729.9930178 -2239204.9662717,99730.1545592497 -2239204.87992594,99730.2931757 -2239204.7661664,99730.4677914 -2239204.6728324,99730.4976652713 -2239204.66377026,99730.6678967 -2239204.5727797,99730.8573657 -2239204.5153049,99731.0180600617 -2239204.49947786,99731.0681072 -2239204.4727271,99731.2575763 -2239204.4152523,99731.4546175 -2239204.3958454,99731.5250206377 -2239204.3958454,99731.5683705 -2239204.3726744,99731.5982447981 -2239204.36361213,99731.7554017157 -2239204.27960999,99731.7959194991 -2239204.24635789,99731.8291718013 -2239204.2058398,99731.9155175 -2239204.0442983,99732.041124 -2239203.8912464,99732.0960776663 -2239203.84614711,99732.1411767 -2239203.7911938,99732.2942286 -2239203.6655873,99732.4688442 -2239203.5722533,99732.6583133 -2239203.5147785,99732.8553545 -2239203.4953716,99733.1555124 -2239203.4953716,99733.3525537 -2239203.5147785,99733.5420227 -2239203.5722533,99733.7122537168 -2239203.66324364,99733.742128 -2239203.6723059,99733.9167436 -2239203.76564,99734.0553600971 -2239203.8793995,99734.2125173287 -2239203.96340176,99734.2423912 -2239203.9724639,99734.4126222168 -2239204.06345424,99734.4424965 -2239204.0725165,99734.5151443635 -2239204.1113476,99734.5531854 -2239204.1150943,99734.7426544 -2239204.1725691,99734.9172701 -2239204.2659032,99734.9669580798 -2239204.30668106,99735.0534486 -2239204.3151996,99735.2429176 -2239204.3726744,99735.4175333 -2239204.4660085,99735.5705852 -2239204.5916149,99735.6961917 -2239204.7446668,99735.7895257 -2239204.9192825,99735.8470005 -2239205.1087515,99735.8664074 -2239205.3057928,99735.8664074 -2239205.806056,99735.8470005 -2239206.0030972,99735.7895257 -2239206.1925662,99735.7871029413 -2239206.19709886,99735.9177965 -2239206.266956,99736.0708484 -2239206.3925625,99736.1964549 -2239206.5456144,99736.2897889 -2239206.7202301,99736.2988511704 -2239206.7501044,99736.3898415 -2239206.9203353,99736.4473163 -2239207.1098044,99736.4667232 -2239207.3068456,99736.4667232 -2239207.4068983,99736.4617960304 -2239207.4569246,99736.4667232 -2239207.5069509,99736.4667232 -2239207.57735392,99736.4898942 -2239207.6207038,99736.547369 -2239207.8101729,99736.5631959389 -2239207.97086704,99736.5899468 -2239208.0209144,99736.6474216 -2239208.2103835,99736.6632486227 -2239208.37107766,99736.6899995 -2239208.421125,99736.7474743 -2239208.610594,99736.7668811 -2239208.8076352,99736.7668811 -2239208.87803829,99736.7900521 -2239208.9213882,99736.8475269 -2239209.1108572,99736.8512736244 -2239209.14889828,99736.8901047 -2239209.2215461,99736.9475796 -2239209.4110152,99736.951326291 -2239209.44905612,99736.9901574 -2239209.521704,99737.0329471384 -2239209.66276292,99737.0713748 -2239209.6942997,99737.1969813 -2239209.8473516,99737.2903153 -2239210.0219673,99737.3477901 -2239210.2114363,99737.367197 -2239210.4084775,99737.367197 -2239210.41124683,99737.3970866 -2239210.4476674,99737.4904206 -2239210.6222831,99737.5019722663 -2239210.66036386,99737.5186388 -2239210.6692723,99737.6716907 -2239210.7948787,99737.7167900108 -2239210.84983238,99737.7717433 -2239210.8949314,99737.8168423337 -2239210.94988471,99737.8573605503 -2239210.98313714,99738.018902 -2239211.0694829,99738.1719539 -2239211.1950893,99738.2170533011 -2239211.25004306,99738.2720065 -2239211.295142,99738.3171054434 -2239211.3500952,99738.3720592 -2239211.3951946,99738.4976657 -2239211.5482465,99738.5909997 -2239211.7228622,99738.6484745 -2239211.9123312,99738.6678813 -2239212.1093725,99738.6678813 -2239212.2094251,99738.6484745 -2239212.4064663,99738.6081004414 -2239212.53956179,99738.61726363 -2239212.55072717,99738.6722171 -2239212.5958263,99738.7978236 -2239212.7488782,99738.8911576 -2239212.9234939,99738.9486324 -2239213.1129629,99738.9680393 -2239213.3100042,99738.9680393 -2239213.4100568,99738.9486324 -2239213.607098,99738.9021769824 -2239213.76024105,99738.9486324 -2239213.9133841,99738.9680393 -2239214.1104253,99738.9680393 -2239214.3105306,99738.9486324 -2239214.5075718,99738.8911576 -2239214.6970409,99738.7978236 -2239214.8716565,99738.6722171 -2239215.0247084,99738.6172637911 -2239215.06980743,99738.5721645 -2239215.1247611,99738.462257725 -2239215.21495922,99738.3720592 -2239215.3248664,99738.2190073 -2239215.4504728,99738.2014247057 -2239215.45987089,99738.2367425085 -2239215.57629807,99738.2621522445 -2239215.60725993,99738.3720592 -2239215.6974582,99738.462257725 -2239215.80736538,99738.5721645 -2239215.8975635,99738.5757227977 -2239215.9018993,99738.7584604 -2239215.9018993,99738.9555016 -2239215.9213062,99739.1449707 -2239215.978781,99739.3152014914 -2239216.06977127,99739.345076 -2239216.0788336,99739.5088552031 -2239216.16637542,99739.6726345 -2239216.0788336,99739.8621035 -2239216.0213588,99740.0591448 -2239216.0019519,99740.1591974 -2239216.0019519,99740.2092237 -2239216.00687907,99740.25925 -2239216.0019519,99740.3593027 -2239216.0019519,99740.5563439 -2239216.0213588,99740.745813 -2239216.0788336,99740.9204286 -2239216.1721676,99741.0734805 -2239216.2977741,99741.199087 -2239216.450826,99741.292421 -2239216.6254417,99741.3498958 -2239216.8149107,99741.3693027 -2239217.0119519,99741.3693027 -2239217.2120572,99741.3498958 -2239217.4090984,99741.292421 -2239217.5985675,99741.26925 -2239217.64191741,99741.26925 -2239217.7123204,99741.2498432 -2239217.9093617,99741.1923684 -2239218.0988307,99741.0990344 -2239218.2734464,99740.9734279 -2239218.4264983,99740.820376 -2239218.5521047,99740.6457603 -2239218.6454388,99740.4562913 -2239218.7029136,99740.3869959453 -2239218.70973857,99740.373112 -2239218.7266562,99740.2200601 -2239218.8522627,99740.0454445 -2239218.9455967,99740.0155699914 -2239218.95465903,99739.8453392 -2239219.0456493,99739.6558701 -2239219.1031241,99739.5865749089 -2239219.10994909,99739.5726909 -2239219.1268668,99739.419639 -2239219.2524732,99739.2580975504 -2239219.33881896,99739.1194811 -2239219.4525785,99738.9448654 -2239219.5459125,99738.8038065828 -2239219.5887023,99738.7722698 -2239219.62713,99738.7173161175 -2239219.67222931,99738.6722171 -2239219.7271826,99738.5191652 -2239219.8527891,99738.3445495 -2239219.9461231,99738.1550805 -2239220.0035979,99737.9580393 -2239220.0230048,99737.8876361623 -2239220.0230048,99737.8442863 -2239220.0461758,99737.6548173 -2239220.1036506,99737.4941231253 -2239220.11947754,99737.4440758 -2239220.1462284,99737.2546067 -2239220.2037032,99737.0575655 -2239220.2231101,99736.9575128 -2239220.2231101,99736.7604716 -2239220.2037032,99736.5710026 -2239220.1462284,99736.5276526912 -2239220.1230574,99736.4572496 -2239220.1230574,99736.2602084 -2239220.1036506,99736.0707394 -2239220.0461758,99735.8961237 -2239219.9528417,99735.8220170434 -2239219.89202396,99735.6705288 -2239219.8460705,99735.4959131 -2239219.7527365,99735.3428612 -2239219.62713,99735.29776207 -2239219.57217653,99735.2428086 -2239219.5270774,99735.1172021 -2239219.3740254,99735.0238681 -2239219.1994098,99734.9663933 -2239219.0099407,99734.9469864 -2239218.8128995,99734.9469864 -2239218.7128469,99734.9519135732 -2239218.66282054,99734.9469864 -2239218.6127942,99734.9469864 -2239218.54239114,99734.9238154 -2239218.4990413,99734.8810256616 -2239218.35798238,99734.842598 -2239218.3264456,99734.7169915 -2239218.1733937,99734.7075934665 -2239218.15581122,99734.5531854 -2239218.2026504,99734.3561441 -2239218.2220572,99734.2560915 -2239218.2220572,99734.2060652 -2239218.21713006,99734.1560389 -2239218.2220572,99734.153269497 -2239218.2220572,99734.1168489 -2239218.2519468,99733.9422333 -2239218.3452808,99733.7527642 -2239218.4027556,99733.555723 -2239218.4221625,99733.4556704 -2239218.4221625,99733.3962216239 -2239218.4163073,99733.3419174 -2239218.4453335,99733.1524484 -2239218.5028083,99732.9554071 -2239218.5222152,99732.8553545 -2239218.5222152,99732.6583133 -2239218.5028083,99732.4688442 -2239218.4453335,99732.4187968324 -2239218.41858262,99732.2581027 -2239218.4027556,99732.0686337 -2239218.3452808,99731.9959858341 -2239218.30644972,99731.9579448 -2239218.302703,99731.7684757 -2239218.2452282,99731.5938601 -2239218.1518942,99731.4408082 -2239218.0262877,99731.3957091663 -2239217.97133439,99731.3407555 -2239217.9262351,99731.2151491 -2239217.7731832,99731.121815 -2239217.5985675,99731.0643402 -2239217.4090984,99731.0449334 -2239217.2120572,99731.0449334 -2239217.0119519,99731.0643402 -2239216.8149107,99731.121815 -2239216.6254417,99731.1485658751 -2239216.57539437,99731.1643929 -2239216.4147001,99731.2218677 -2239216.2252311,99731.2450386 -2239216.18188138,99731.2450386 -2239216.1114782,99731.2644455 -2239215.9144369,99731.3219203 -2239215.7249679,99731.3486711837 -2239215.6749205,99731.354945644 -2239215.61121495,99731.3486711837 -2239215.5475094,99731.3219203 -2239215.497462,99731.3128580278 -2239215.4675877,99731.2218677 -2239215.2973567,99731.2128054311 -2239215.26748241,99731.121815 -2239215.0972514,99731.1127527279 -2239215.0673771,99731.0217624 -2239214.8971461,99730.9642876 -2239214.7076771,99730.9484605738 -2239214.5469829,99730.9286978954 -2239214.51000958,99730.8149385 -2239214.3713933,99730.7377477001 -2239214.22697941,99730.5977179188 -2239214.15213197,99730.567844 -2239214.1430698,99730.3932284 -2239214.0497358,99730.3191216666 -2239213.98891804,99730.1676335 -2239213.9429646,99729.997402493 -2239213.85197417,99729.9675282 -2239213.8429119,99729.9174808437 -2239213.81616104,99729.7567866 -2239213.8003341,99729.5673176 -2239213.7428593,99729.4946695048 -2239213.7040281,99729.4566287 -2239213.7002814,99729.2671597 -2239213.6428066,99729.092544 -2239213.5494726,99728.9394921 -2239213.4238662,99728.8943929214 -2239213.36891268,99728.8394394 -2239213.3238135,99728.79434027 -2239213.26886003,99728.7393868 -2239213.2237609,99728.6461920537 -2239213.11020282,99728.5530909 -2239213.1193725,99728.4530382 -2239213.1193725,99728.255997 -2239213.0999656,99728.066528 -2239213.0424908,99728.0231780912 -2239213.0193198,99727.8527224 -2239213.0193198,99727.6556811 -2239212.9999129,99727.4662121 -2239212.9424381,99727.2959810832 -2239212.85144776,99727.2661068 -2239212.8423855,99727.0958760086 -2239212.75139523,99727.0660015 -2239212.7423329,99726.8913859 -2239212.6489988,99726.738334 -2239212.5233924,99726.6932348052 -2239212.4684389,99726.6382813 -2239212.4233397,99726.5126749 -2239212.2702878,99726.4789537659 -2239212.20720004,99726.4657947 -2239212.2232344,99726.3127428 -2239212.3488409,99726.1381271 -2239212.4421749,99725.9486581 -2239212.4996497,99725.7516169 -2239212.5190566,99725.6515642 -2239212.5190566,99725.454523 -2239212.4996497,99725.265054 -2239212.4421749,99725.0904383 -2239212.3488409,99724.9373864 -2239212.2232344,99724.8922873825 -2239212.16828111,99724.8373337 -2239212.1231818,99724.7117273 -2239211.9701299,99724.6183933 -2239211.7955142,99724.6093311591 -2239211.76564033,99724.5183406 -2239211.5954089,99724.4608658 -2239211.4059399,99724.441459 -2239211.2088987,99724.441459 -2239210.5085302,99724.4608658 -2239210.3114889,99724.5183406 -2239210.1220199,99724.5415116 -2239210.07866999))
+    </op>
+  </test>
+
+  <test>
+    <desc>buffer-1.1</desc>
+    <op name="buffer" arg1="a" arg2="1.1">
+      POLYGON ((99724.45151159 -2239210.0570456,99724.45151159 -2239209.90821432,99724.47264779 -2239209.69361496,99724.53524411 -2239209.48726254,99724.55156424 -2239209.45672972,99724.55156424 -2239209.4079511,99724.57270043 -2239209.19335175,99724.63529675 -2239208.98699933,99724.7262871367 -2239208.81676829,99724.73534939 -2239208.78689404,99724.83700031 -2239208.59671856,99724.97379942 -2239208.43002836,99725.0287529111 -2239208.38492919,99725.07385206 -2239208.32997572,99725.128805548 -2239208.28487656,99725.17390471 -2239208.22992307,99725.2288581827 -2239208.18482392,99725.27395735 -2239208.12987043,99725.3289108328 -2239208.08477127,99725.37400999 -2239208.02981779,99725.4289634811 -2239207.98471862,99725.47406263 -2239207.92976515,99725.64075284 -2239207.79296603,99725.83092832 -2239207.69131512,99725.8608025436 -2239207.68225287,99726.0310336 -2239207.59126248,99726.23738602 -2239207.52866615,99726.45198538 -2239207.50752996,99727.4525118 -2239207.50752996,99727.502538125 -2239207.51245712,99727.55256445 -2239207.50752996,99727.5629408061 -2239207.50752996,99727.57427971 -2239207.39240418,99727.63687603 -2239207.18605176,99727.73852694 -2239206.99587628,99727.87532605 -2239206.82918608,99727.9302795548 -2239206.7840869,99727.9753787 -2239206.72913344,99728.0303321742 -2239206.68403429,99728.07543134 -2239206.62908079,99728.1303848228 -2239206.58398163,99728.17548398 -2239206.52902815,99728.2304374628 -2239206.48392899,99728.27553662 -2239206.42897551,99728.44222683 -2239206.29217639,99728.6037683473 -2239206.20583065,99728.74238476 -2239206.09207111,99728.93256024 -2239205.9904202,99728.9624344654 -2239205.98135795,99729.13266552 -2239205.89036755,99729.2695322976 -2239205.84884947,99729.27517463 -2239205.7915619,99729.33777095 -2239205.58520948,99729.43942186 -2239205.395034,99729.57622098 -2239205.2283438,99729.6311744542 -2239205.18324465,99729.67627362 -2239205.12829115,99729.7312271028 -2239205.08319199,99729.77632626 -2239205.02823851,99729.94301647 -2239204.8914394,99730.1045579766 -2239204.80509367,99730.24317439 -2239204.69133411,99730.43334987 -2239204.5896832,99730.4632241149 -2239204.58062095,99730.63345516 -2239204.48963056,99730.83980758 -2239204.42703424,99730.9915507716 -2239204.41208883,99731.03366573 -2239204.38957792,99731.24001815 -2239204.32698159,99731.45461751 -2239204.3058454,99731.5033961238 -2239204.3058454,99731.53392894 -2239204.28952527,99731.5638031868 -2239204.28046302,99731.7054002625 -2239204.2047778,99731.7322799528 -2239204.18271821,99731.7543395289 -2239204.15583854,99731.84068528 -2239203.994297,99731.9774844 -2239203.8276068,99732.0324378828 -2239203.78250764,99732.07753704 -2239203.72755416,99732.24422724 -2239203.59075504,99732.43440273 -2239203.48910413,99732.64075515 -2239203.42650781,99732.8553545 -2239203.40537162,99733.15551243 -2239203.40537162,99733.37011178 -2239203.42650781,99733.5764642 -2239203.48910413,99733.7466952432 -2239203.58009452,99733.77656949 -2239203.58915677,99733.96674497 -2239203.69080769,99734.1053613588 -2239203.80456722,99734.2469584764 -2239203.88025245,99734.2768327 -2239203.8893147,99734.4470637803 -2239203.98030511,99734.47693799 -2239203.98936735,99734.5416536026 -2239204.02395857,99734.57074349 -2239204.02682367,99734.77709591 -2239204.08941999,99734.9672714 -2239204.1910709,99735.002776056 -2239204.22020882,99735.07100671 -2239204.22692895,99735.27735913 -2239204.28952527,99735.46753461 -2239204.39117618,99735.63422481 -2239204.5279753,99735.77102393 -2239204.6946655,99735.87267484 -2239204.88484098,99735.93527116 -2239205.0911934,99735.95640735 -2239205.30579276,99735.95640735 -2239205.80605597,99735.93527116 -2239206.02065533,99735.8950519575 -2239206.15324028,99735.96779782 -2239206.19212375,99736.13448802 -2239206.32892287,99736.27128714 -2239206.49561307,99736.37293805 -2239206.68578855,99736.3820002963 -2239206.71566277,99736.47299069 -2239206.88589383,99736.53558702 -2239207.09224626,99736.55672321 -2239207.30684561,99736.55672321 -2239207.40689825,99736.5517960479 -2239207.45692457,99736.55672321 -2239207.50695089,99736.55672321 -2239207.55572952,99736.57304334 -2239207.58626233,99736.63563966 -2239207.79261475,99736.6505850566 -2239207.94435792,99736.67309598 -2239207.9864729,99736.7356923 -2239208.19282532,99736.7506376966 -2239208.34456849,99736.77314862 -2239208.38668347,99736.83574494 -2239208.59303589,99736.85688113 -2239208.80763525,99736.85688113 -2239208.85641386,99736.87320126 -2239208.88694668,99736.93579759 -2239209.09329911,99736.9386626941 -2239209.122389,99736.97325391 -2239209.18710461,99737.03585023 -2239209.39345703,99737.0387153344 -2239209.42254693,99737.07330655 -2239209.48726254,99737.1107700712 -2239209.61076322,99737.13501445 -2239209.63066007,99737.27181356 -2239209.79735027,99737.37346448 -2239209.98752575,99737.4360608 -2239210.19387817,99737.4539791828 -2239210.37580658,99737.47191885 -2239210.39766613,99737.57356976 -2239210.58784161,99737.5778688697 -2239210.60201388,99737.7353303 -2239210.73123914,99737.7804294535 -2239210.78619261,99737.83538295 -2239210.83129178,99737.8804821072 -2239210.88624526,99737.9073617975 -2239210.90830485,99738.06890331 -2239210.99465059,99738.23559352 -2239211.13144971,99738.2806926772 -2239211.18640319,99738.33564616 -2239211.23150235,99738.3807453172 -2239211.28645583,99738.4356988 -2239211.33155499,99738.57249792 -2239211.4982452,99738.67414883 -2239211.68842068,99738.73674515 -2239211.8947731,99738.75788134 -2239212.10937245,99738.75788134 -2239212.20942509,99738.73674515 -2239212.42402445,99738.7102974729 -2239212.51121076,99738.73585673 -2239212.5321867,99738.87265584 -2239212.69887691,99738.97430676 -2239212.88905239,99739.03690308 -2239213.09540481,99739.05803927 -2239213.31000416,99739.05803927 -2239213.41005681,99739.03690308 -2239213.62465616,99738.9957738532 -2239213.76024105,99739.03690308 -2239213.89582595,99739.05803927 -2239214.1104253,99739.05803927 -2239214.31053059,99739.03690308 -2239214.52512994,99738.97430676 -2239214.73148236,99738.87265584 -2239214.92165784,99738.73585673 -2239215.08834805,99738.6809032472 -2239215.13344721,99738.63580409 -2239215.18840069,99738.5258971362 -2239215.27859899,99738.4356988 -2239215.38850598,99738.3057292327 -2239215.49516925,99738.3172807609 -2239215.53324953,99738.3257918344 -2239215.54362031,99738.4356988 -2239215.63381862,99738.5258971196 -2239215.74372559,99738.6089670129 -2239215.81189929,99738.75846041 -2239215.81189929,99738.97305977 -2239215.83303549,99739.17941219 -2239215.89563181,99739.3496432464 -2239215.9866222,99739.37951747 -2239215.99568445,99739.50885523 -2239216.06481692,99739.63819299 -2239215.99568445,99739.84454541 -2239215.93308813,99740.05914476 -2239215.91195194,99740.15919741 -2239215.91195194,99740.20922373 -2239215.9168791,99740.25925005 -2239215.91195194,99740.35930269 -2239215.91195194,99740.57390205 -2239215.93308813,99740.78025447 -2239215.99568445,99740.97042995 -2239216.09733536,99741.13712015 -2239216.23413448,99741.27391927 -2239216.40082468,99741.37557018 -2239216.59100016,99741.4381665 -2239216.79735258,99741.45930269 -2239217.01195194,99741.45930269 -2239217.21205722,99741.4381665 -2239217.42665658,99741.37557018 -2239217.633009,99741.35925005 -2239217.66354182,99741.35925005 -2239217.71232044,99741.33811386 -2239217.92691979,99741.27551754 -2239218.13327221,99741.17386662 -2239218.32344769,99741.03706751 -2239218.49013789,99740.87037731 -2239218.62693701,99740.68020183 -2239218.72858792,99740.4738494 -2239218.79118424,99740.4304621038 -2239218.79545752,99740.27006145 -2239218.92709494,99740.07988597 -2239219.02874585,99740.050011744 -2239219.0378081,99739.87978068 -2239219.12879849,99739.67342826 -2239219.19139481,99739.6300409638 -2239219.19566809,99739.46964031 -2239219.32730551,99739.3080987927 -2239219.41365125,99739.16948238 -2239219.52741079,99738.9793069 -2239219.6290617,99738.855806222 -2239219.66652523,99738.83590937 -2239219.69076961,99738.7809558789 -2239219.73586877,99738.73585673 -2239219.79082225,99738.56916653 -2239219.92762136,99738.37899105 -2239220.02927227,99738.17263863 -2239220.0918686,99737.95803927 -2239220.11300479,99737.9092606432 -2239220.11300479,99737.87872783 -2239220.12932492,99737.67237541 -2239220.19192124,99737.5206322346 -2239220.20686664,99737.47851726 -2239220.22937756,99737.27216484 -2239220.29197388,99737.05756549 -2239220.31311007,99736.95751285 -2239220.31311007,99736.74291349 -2239220.29197388,99736.53656107 -2239220.22937756,99736.5060282537 -2239220.21305743,99736.45724963 -2239220.21305743,99736.24265028 -2239220.19192124,99736.03629786 -2239220.12932492,99735.84612238 -2239220.027674,99735.778968366 -2239219.97256213,99735.63608729 -2239219.92921963,99735.44591181 -2239219.82756872,99735.2792216 -2239219.69076961,99735.2341224342 -2239219.63581611,99735.17916896 -2239219.59071696,99735.04236985 -2239219.42402676,99734.94071893 -2239219.23385128,99734.87812261 -2239219.02749886,99734.85698642 -2239218.8128995,99734.85698642 -2239218.71284686,99734.8619135822 -2239218.66282054,99734.85698642 -2239218.61279422,99734.85698642 -2239218.5640156,99734.84066629 -2239218.53348278,99734.8032027694 -2239218.4099821,99734.77895839 -2239218.39008525,99734.6722951221 -2239218.26011568,99734.57074349 -2239218.29092103,99734.35614414 -2239218.31205722,99734.2560915 -2239218.31205722,99734.206065175 -2239218.30713006,99734.1887097995 -2239218.30883941,99734.16685025 -2239218.32677908,99733.97667477 -2239218.42842999,99733.77032235 -2239218.49102632,99733.555723 -2239218.51216251,99733.45567036 -2239218.51216251,99733.4144813942 -2239218.50810575,99733.37635892 -2239218.52848264,99733.1700065 -2239218.59107896,99732.95540714 -2239218.61221515,99732.8553545 -2239218.61221515,99732.64075515 -2239218.59107896,99732.43440273 -2239218.52848264,99732.3922877578 -2239218.50597172,99732.24054458 -2239218.49102632,99732.03419215 -2239218.42842999,99731.9694765374 -2239218.39383877,99731.94038665 -2239218.39097367,99731.73403423 -2239218.32837735,99731.54385875 -2239218.22672644,99731.37716854 -2239218.08992732,99731.3320693911 -2239218.03497385,99731.2771159 -2239217.98987468,99731.14031679 -2239217.82318448,99731.03866587 -2239217.633009,99730.97606955 -2239217.42665658,99730.95493336 -2239217.21205722,99730.95493336 -2239217.01195194,99730.97606955 -2239216.79735258,99731.03866587 -2239216.59100016,99731.0611767929 -2239216.54888519,99731.07612219 -2239216.39714201,99731.13871852 -2239216.19078959,99731.15503865 -2239216.16025677,99731.15503865 -2239216.11147815,99731.17617484 -2239215.8968788,99731.23877116 -2239215.69052638,99731.2612820825 -2239215.64841141,99731.2649456144 -2239215.61121494,99731.2612820828 -2239215.57401848,99731.23877116 -2239215.5319035,99731.2297089137 -2239215.50202928,99731.13871852 -2239215.33179822,99731.129656271 -2239215.30192399,99731.03866587 -2239215.13169293,99731.0296036237 -2239215.10181871,99730.93861323 -2239214.93158765,99730.87601691 -2239214.72523523,99730.8610715134 -2239214.57349206,99730.8538657489 -2239214.56001102,99730.74010622 -2239214.42139463,99730.6715646238 -2239214.29316233,99730.5632767436 -2239214.23528126,99730.53340252 -2239214.22621901,99730.34322704 -2239214.12456809,99730.276073026 -2239214.06945622,99730.13319195 -2239214.02611372,99729.9629609068 -2239213.93512333,99729.93308666 -2239213.92606108,99729.8909716838 -2239213.90355016,99729.73922851 -2239213.88860476,99729.53287609 -2239213.82600844,99729.4681604841 -2239213.79141723,99729.43907058 -2239213.78855212,99729.23271816 -2239213.72595579,99729.04254268 -2239213.62430488,99728.87585248 -2239213.48750577,99728.8307533142 -2239213.43255227,99728.77579984 -2239213.38745312,99728.7307006948 -2239213.33249966,99728.67574719 -2239213.28740048,99728.6073273203 -2239213.20403063,99728.55309087 -2239213.20937245,99728.45303823 -2239213.20937245,99728.23843887 -2239213.18823626,99728.03208645 -2239213.12563994,99728.0015536337 -2239213.10931981,99727.85272237 -2239213.10931981,99727.63812302 -2239213.08818362,99727.4317706 -2239213.0255873,99727.2615395585 -2239212.93459691,99727.23166531 -2239212.92553465,99727.0614342536 -2239212.83454426,99727.03156003 -2239212.82548201,99726.84138455 -2239212.7238311,99726.67469434 -2239212.58703198,99726.6295951911 -2239212.53207851,99726.5746417 -2239212.48697934,99726.4583176232 -2239212.34523804,99726.36274414 -2239212.42367317,99726.17256866 -2239212.52532408,99725.96621623 -2239212.58792041,99725.75161688 -2239212.6090566,99725.65156424 -2239212.6090566,99725.43696488 -2239212.58792041,99725.23061246 -2239212.52532408,99725.04043698 -2239212.42367317,99724.87374678 -2239212.28687406,99724.8286476041 -2239212.23192056,99724.77369414 -2239212.18682141,99724.63689502 -2239212.02013121,99724.53524411 -2239211.82995573,99724.5261818637 -2239211.80008151,99724.43519147 -2239211.62985045,99724.37259514 -2239211.42349802,99724.35145895 -2239211.20889867,99724.35145895 -2239210.50853017,99724.37259514 -2239210.29393082,99724.43519147 -2239210.0875784,99724.45151159 -2239210.0570456))
+    </op>
+  </test>
+
+  <test>
+    <desc>buffer-1.5</desc>
+    <op name="buffer" arg1="a" arg2="1.5">
+POLYGON ((99723.95146 -2239211.2089, 99723.95146 -2239210.50853, 99723.98028 -2239210.21589, 99724.05151 -2239209.98109, 99724.05151 -2239209.90821, 99724.08033 -2239209.61558, 99724.15553 -2239209.3677, 99724.18039 -2239209.11532, 99724.26574 -2239208.83393, 99724.35674 -2239208.66369, 99724.3658 -2239208.63382, 99724.50441 -2239208.37449, 99724.69096 -2239208.14719, 99724.7459 -2239208.1021, 99724.79101 -2239208.04713, 99724.84597 -2239208.00203, 99724.89106 -2239207.94708, 99724.94601 -2239207.90199, 99724.99111 -2239207.84703, 99725.04609 -2239207.80191, 99725.09117 -2239207.74698, 99725.14611 -2239207.70189, 99725.19122 -2239207.64692, 99725.41852 -2239207.46038, 99725.67785 -2239207.32176, 99725.70776 -2239207.31269, 99725.87796 -2239207.22171, 99726.15935 -2239207.13635, 99726.45199 -2239207.10753, 99727.24471 -2239207.10753, 99727.26732 -2239207.03298, 99727.40594 -2239206.77365, 99727.59248 -2239206.54634, 99727.64746 -2239206.50122, 99727.69254 -2239206.44629, 99727.74748 -2239206.4012, 99727.79259 -2239206.34624, 99727.84755 -2239206.30113, 99727.89264 -2239206.24619, 99727.94757 -2239206.20111, 99727.99269 -2239206.14613, 99728.22 -2239205.95959, 99728.38155 -2239205.87324, 99728.52016 -2239205.75948, 99728.77949 -2239205.62087, 99728.80935 -2239205.61181, 99728.93391 -2239205.54523, 99728.96822 -2239205.43214, 99729.10683 -2239205.17281, 99729.29338 -2239204.9455, 99729.34833 -2239204.9004, 99729.39343 -2239204.84545, 99729.44838 -2239204.80035, 99729.49348 -2239204.7454, 99729.72079 -2239204.55885, 99729.88233 -2239204.47251, 99730.02095 -2239204.35875, 99730.28028 -2239204.22013, 99730.31014 -2239204.21107, 99730.48038 -2239204.12008, 99730.76177 -2239204.03472, 99730.87374 -2239204.02369, 99730.88059 -2239204.02003, 99731.16198 -2239203.93467, 99731.41243 -2239203.91001, 99731.44315 -2239203.89359, 99731.5081 -2239203.77207, 99731.69464 -2239203.54476, 99731.74959 -2239203.49966, 99731.79469 -2239203.44471, 99732.022 -2239203.25817, 99732.28133 -2239203.11955, 99732.56272 -2239203.03419, 99732.85535 -2239203.00537, 99733.15551 -2239203.00537, 99733.44815 -2239203.03419, 99733.72954 -2239203.11955, 99733.89976 -2239203.21054, 99733.92964 -2239203.2196, 99734.18897 -2239203.35822, 99734.32761 -2239203.47199, 99734.4 -2239203.51069, 99734.42991 -2239203.51976, 99734.60016 -2239203.61077, 99734.63001 -2239203.61982, 99734.66893 -2239203.64062, 99734.93017 -2239203.71987, 99735.14389 -2239203.8341, 99735.14904 -2239203.83461, 99735.43043 -2239203.91997, 99735.68976 -2239204.05859, 99735.91707 -2239204.24513, 99736.10361 -2239204.47244, 99736.24223 -2239204.73177, 99736.32759 -2239205.01316, 99736.35641 -2239205.30579, 99736.35641 -2239205.80606, 99736.33909 -2239205.98187, 99736.41733 -2239206.04608, 99736.60387 -2239206.27338, 99736.74249 -2239206.53272, 99736.75155 -2239206.56258, 99736.84254 -2239206.73282, 99736.9279 -2239207.01421, 99736.95672 -2239207.30685, 99736.95672 -2239207.4069, 99736.95179 -2239207.45692, 99736.95275 -2239207.46666, 99737.02795 -2239207.71458, 99737.03898 -2239207.82653, 99737.04265 -2239207.8334, 99737.12801 -2239208.11479, 99737.13904 -2239208.22676, 99737.1427 -2239208.23361, 99737.22806 -2239208.515, 99737.25291 -2239208.76738, 99737.32199 -2239208.99507, 99737.34281 -2239209.03403, 99737.42204 -2239209.29524, 99737.44286 -2239209.33419, 99737.46408 -2239209.40414, 99737.6044 -2239209.57512, 99737.74302 -2239209.83445, 99737.82837 -2239210.11584, 99737.84096 -2239210.24364, 99737.89745 -2239210.34932, 99738.01817 -2239210.4484, 99738.06325 -2239210.50333, 99738.11823 -2239210.54845, 99738.14922 -2239210.58621, 99738.29113 -2239210.66206, 99738.51844 -2239210.84861, 99738.56354 -2239210.90357, 99738.61849 -2239210.94866, 99738.66359 -2239211.00361, 99738.71854 -2239211.04871, 99738.90509 -2239211.27602, 99739.0437 -2239211.53535, 99739.12906 -2239211.81674, 99739.15788 -2239212.10937, 99739.15788 -2239212.20943, 99739.13946 -2239212.39649, 99739.20524 -2239212.47665, 99739.34386 -2239212.73598, 99739.42922 -2239213.01737, 99739.45804 -2239213.31, 99739.45804 -2239213.41006, 99739.42922 -2239213.70269, 99739.41176 -2239213.76024, 99739.42922 -2239213.81779, 99739.45804 -2239214.11043, 99739.45804 -2239214.31053, 99739.42922 -2239214.60317, 99739.34386 -2239214.88456, 99739.20524 -2239215.14389, 99739.0187 -2239215.37119, 99738.96375 -2239215.41629, 99738.95173 -2239215.43093, 99739.0511 -2239215.44072, 99739.33249 -2239215.52608, 99739.50273 -2239215.61707, 99739.50886 -2239215.61893, 99739.76651 -2239215.54077, 99740.05914 -2239215.51195, 99740.1592 -2239215.51195, 99740.20922 -2239215.51688, 99740.25925 -2239215.51195, 99740.3593 -2239215.51195, 99740.65194 -2239215.54077, 99740.93333 -2239215.62613, 99741.19266 -2239215.76475, 99741.41996 -2239215.95129, 99741.60651 -2239216.1786, 99741.74512 -2239216.43793, 99741.83048 -2239216.71932, 99741.8593 -2239217.01195, 99741.8593 -2239217.21206, 99741.83048 -2239217.50469, 99741.75529 -2239217.75257, 99741.73043 -2239218.00496, 99741.64507 -2239218.28635, 99741.50645 -2239218.54568, 99741.31991 -2239218.77298, 99741.09261 -2239218.95952, 99740.83328 -2239219.09814, 99740.6046 -2239219.16751, 99740.49229 -2239219.25968, 99740.23296 -2239219.3983, 99740.20308 -2239219.40737, 99740.03285 -2239219.49835, 99739.80418 -2239219.56772, 99739.69187 -2239219.65989, 99739.53032 -2239219.74624, 99739.39171 -2239219.86, 99739.13238 -2239219.99861, 99739.06303 -2239220.01965, 99739.0187 -2239220.07366, 99738.79139 -2239220.26021, 99738.53206 -2239220.39882, 99738.25067 -2239220.48418, 99737.99834 -2239220.50903, 99737.75041 -2239220.58424, 99737.63844 -2239220.59527, 99737.63159 -2239220.59893, 99737.3502 -2239220.68429, 99737.05757 -2239220.71311, 99736.95751 -2239220.71311, 99736.66488 -2239220.68429, 99736.417 -2239220.6091, 99736.16461 -2239220.58424, 99735.88322 -2239220.49888, 99735.62389 -2239220.36026, 99735.58764 -2239220.33051, 99735.48301 -2239220.29877, 99735.22368 -2239220.16016, 99734.99638 -2239219.97361, 99734.95127 -2239219.91865, 99734.89633 -2239219.87356, 99734.70978 -2239219.64625, 99734.57117 -2239219.38692, 99734.48581 -2239219.10553, 99734.45699 -2239218.8129, 99734.45699 -2239218.71285, 99734.45806 -2239218.70202, 99734.35614 -2239218.71206, 99734.2905 -2239218.71206, 99734.12975 -2239218.79798, 99733.84836 -2239218.88334, 99733.55572 -2239218.91216, 99733.48285 -2239218.91216, 99733.24804 -2239218.98339, 99732.95541 -2239219.01222, 99732.85535 -2239219.01222, 99732.56272 -2239218.98339, 99732.28133 -2239218.89803, 99732.27448 -2239218.89437, 99732.16251 -2239218.88334, 99731.88112 -2239218.79798, 99731.8422 -2239218.77718, 99731.58096 -2239218.69793, 99731.32163 -2239218.55931, 99731.09433 -2239218.37277, 99731.04924 -2239218.31783, 99730.99427 -2239218.27272, 99730.80773 -2239218.04541, 99730.66911 -2239217.78608, 99730.58376 -2239217.50469, 99730.55493 -2239217.21206, 99730.55493 -2239217.01195, 99730.58376 -2239216.71932, 99730.66911 -2239216.43793, 99730.67278 -2239216.43105, 99730.68381 -2239216.31911, 99730.759 -2239216.07123, 99730.78386 -2239215.81884, 99730.84317 -2239215.62332, 99730.76917 -2239215.48487, 99730.76012 -2239215.45502, 99730.66911 -2239215.28477, 99730.66004 -2239215.25486, 99730.56906 -2239215.08466, 99730.4837 -2239214.80327, 99730.47622 -2239214.72734, 99730.40752 -2239214.64362, 99730.38225 -2239214.59635, 99730.38033 -2239214.59577, 99730.121 -2239214.45716, 99730.08474 -2239214.4274, 99729.98012 -2239214.39567, 99729.80988 -2239214.30467, 99729.78001 -2239214.29561, 99729.77316 -2239214.29195, 99729.66119 -2239214.28092, 99729.3798 -2239214.19556, 99729.34088 -2239214.17476, 99729.07964 -2239214.09551, 99728.82031 -2239213.95689, 99728.59301 -2239213.77035, 99728.54792 -2239213.7154, 99728.49296 -2239213.6703, 99728.44786 -2239213.61534, 99728.43888 -2239213.60798, 99728.1604 -2239213.58055, 99727.92559 -2239213.50932, 99727.85272 -2239213.50932, 99727.56009 -2239213.4805, 99727.2787 -2239213.39514, 99727.1085 -2239213.30416, 99727.07859 -2239213.29509, 99726.90834 -2239213.20408, 99726.87849 -2239213.19503, 99726.61916 -2239213.05642, 99726.39185 -2239212.86987, 99726.38593 -2239212.86265, 99726.32564 -2239212.89488, 99726.04425 -2239212.98023, 99725.75162 -2239213.00906, 99725.65156 -2239213.00906, 99725.35893 -2239212.98023, 99725.07754 -2239212.89488, 99724.81821 -2239212.75626, 99724.5909 -2239212.56972, 99724.54578 -2239212.51474, 99724.49085 -2239212.46966, 99724.30431 -2239212.24236, 99724.16569 -2239211.98303, 99724.15662 -2239211.95315, 99724.06564 -2239211.78292, 99723.98028 -2239211.50153, 99723.95146 -2239211.2089))
+    </op>
+  </test>
+
+  <test>
+    <desc>buffer-2</desc>
+    <op name="buffer" arg1="a" arg2="2">
+POLYGON ((99723.45146 -2239211.2089, 99723.45146 -2239210.50853, 99723.48989 -2239210.11835, 99723.55151 -2239209.91521, 99723.55151 -2239209.90821, 99723.58994 -2239209.51803, 99723.66513 -2239209.27016, 99723.68999 -2239209.01777, 99723.80381 -2239208.64258, 99723.8948 -2239208.47236, 99723.90386 -2239208.44248, 99724.08868 -2239208.09671, 99724.3374 -2239207.79363, 99724.39237 -2239207.74852, 99724.43746 -2239207.69358, 99724.49241 -2239207.64848, 99724.53751 -2239207.59353, 99724.59245 -2239207.54844, 99724.63756 -2239207.49347, 99724.69251 -2239207.44837, 99724.73761 -2239207.39342, 99724.79258 -2239207.34831, 99724.83767 -2239207.29337, 99725.14074 -2239207.04464, 99725.48651 -2239206.85982, 99725.5164 -2239206.85075, 99725.68662 -2239206.75977, 99726.0618 -2239206.64596, 99726.45199 -2239206.60753, 99726.93051 -2239206.60753, 99726.9902 -2239206.49586, 99727.23893 -2239206.19279, 99727.29389 -2239206.14769, 99727.33898 -2239206.09274, 99727.39394 -2239206.04764, 99727.43904 -2239205.99268, 99727.49399 -2239205.94758, 99727.53909 -2239205.89263, 99727.59404 -2239205.84754, 99727.63914 -2239205.79258, 99727.94221 -2239205.54385, 99728.10377 -2239205.4575, 99728.24237 -2239205.34375, 99728.53479 -2239205.18745, 99728.6911 -2239204.89502, 99728.93982 -2239204.59195, 99728.9948 -2239204.54683, 99729.03988 -2239204.4919, 99729.09481 -2239204.44682, 99729.13993 -2239204.39184, 99729.443 -2239204.14312, 99729.60454 -2239204.05678, 99729.74316 -2239203.94301, 99730.08893 -2239203.75819, 99730.11883 -2239203.74912, 99730.28904 -2239203.65814, 99730.66423 -2239203.54433, 99730.76844 -2239203.53407, 99731.06444 -2239203.44427, 99731.13947 -2239203.43688, 99731.34109 -2239203.19121, 99731.39604 -2239203.14611, 99731.44114 -2239203.09116, 99731.74421 -2239202.84243, 99732.08999 -2239202.65761, 99732.46517 -2239202.5438, 99732.85535 -2239202.50537, 99733.15551 -2239202.50537, 99733.54569 -2239202.5438, 99733.92088 -2239202.65761, 99734.09114 -2239202.74862, 99734.12098 -2239202.75767, 99734.46676 -2239202.94249, 99734.59911 -2239203.0511, 99734.62125 -2239203.05782, 99734.79151 -2239203.14883, 99734.82135 -2239203.15788, 99734.86028 -2239203.17869, 99735.12151 -2239203.25793, 99735.33065 -2239203.36972, 99735.62177 -2239203.45803, 99735.96755 -2239203.64285, 99736.27062 -2239203.89158, 99736.51935 -2239204.19465, 99736.70417 -2239204.54043, 99736.81798 -2239204.91561, 99736.85641 -2239205.30579, 99736.85641 -2239205.79675, 99737.01961 -2239205.9956, 99737.20443 -2239206.34137, 99737.2135 -2239206.37127, 99737.30448 -2239206.54148, 99737.41829 -2239206.91666, 99737.45672 -2239207.30685, 99737.45672 -2239207.4069, 99737.4562 -2239207.41217, 99737.51835 -2239207.61703, 99737.52862 -2239207.72126, 99737.6184 -2239208.01724, 99737.62867 -2239208.12147, 99737.71845 -2239208.41745, 99737.74331 -2239208.66984, 99737.78392 -2239208.80372, 99737.80475 -2239208.84269, 99737.88399 -2239209.10392, 99737.9048 -2239209.14285, 99737.91151 -2239209.16498, 99738.02014 -2239209.29734, 99738.20496 -2239209.64311, 99738.31877 -2239210.0183, 99738.32231 -2239210.05429, 99738.37173 -2239210.09484, 99738.41684 -2239210.14981, 99738.47006 -2239210.19349, 99738.56892 -2239210.24633, 99738.87199 -2239210.49505, 99738.91711 -2239210.55003, 99738.97204 -2239210.59511, 99739.01714 -2239210.65006, 99739.07209 -2239210.69516, 99739.32082 -2239210.99823, 99739.50564 -2239211.34401, 99739.61945 -2239211.71919, 99739.65788 -2239212.10937, 99739.65788 -2239212.20943, 99739.65302 -2239212.2588, 99739.8058 -2239212.54464, 99739.91961 -2239212.91982, 99739.95804 -2239213.31, 99739.95804 -2239213.41006, 99739.92355 -2239213.76024, 99739.95804 -2239214.11043, 99739.95804 -2239214.31053, 99739.91961 -2239214.70071, 99739.81799 -2239215.0357, 99740.05914 -2239215.01195, 99740.1592 -2239215.01195, 99740.20923 -2239215.01688, 99740.25925 -2239215.01195, 99740.3593 -2239215.01195, 99740.74948 -2239215.05038, 99741.12467 -2239215.16419, 99741.47044 -2239215.34901, 99741.77352 -2239215.59774, 99742.02224 -2239215.90081, 99742.20706 -2239216.24659, 99742.32087 -2239216.62177, 99742.3593 -2239217.01195, 99742.3593 -2239217.21206, 99742.32087 -2239217.60224, 99742.24568 -2239217.85011, 99742.22082 -2239218.1025, 99742.10701 -2239218.47769, 99741.92219 -2239218.82346, 99741.67346 -2239219.12653, 99741.37039 -2239219.37526, 99741.02462 -2239219.56008, 99740.84376 -2239219.61494, 99740.77007 -2239219.67542, 99740.4243 -2239219.86024, 99740.39442 -2239219.8693, 99740.2242 -2239219.96029, 99740.04334 -2239220.01515, 99739.96965 -2239220.07563, 99739.80811 -2239220.16197, 99739.6695 -2239220.27573, 99739.34642 -2239220.44841, 99739.06918 -2239220.67594, 99738.72341 -2239220.86076, 99738.34822 -2239220.97458, 99738.09586 -2239220.99943, 99737.84796 -2239221.07463, 99737.74373 -2239221.0849, 99737.44775 -2239221.17468, 99737.05757 -2239221.21311, 99736.95751 -2239221.21311, 99736.56733 -2239221.17468, 99736.31946 -2239221.09949, 99736.06707 -2239221.07463, 99735.69188 -2239220.96082, 99735.3514 -2239220.77883, 99735.29167 -2239220.76071, 99734.9459 -2239220.57589, 99734.64283 -2239220.32717, 99734.59773 -2239220.27221, 99734.54277 -2239220.22711, 99734.29405 -2239219.92404, 99734.10923 -2239219.57827, 99734.03865 -2239219.3456, 99733.9459 -2239219.37373, 99733.55572 -2239219.41216, 99733.54874 -2239219.41216, 99733.34559 -2239219.47379, 99732.95541 -2239219.51222, 99732.85535 -2239219.51222, 99732.46517 -2239219.47379, 99732.16918 -2239219.384, 99732.06496 -2239219.37373, 99731.68978 -2239219.25992, 99731.65085 -2239219.23911, 99731.38962 -2239219.15987, 99731.04385 -2239218.97505, 99730.74077 -2239218.72632, 99730.69568 -2239218.67137, 99730.64072 -2239218.62627, 99730.39199 -2239218.3232, 99730.20717 -2239217.97742, 99730.09336 -2239217.60224, 99730.05493 -2239217.21206, 99730.05493 -2239217.01195, 99730.09336 -2239216.62177, 99730.18316 -2239216.32575, 99730.19342 -2239216.22156, 99730.26861 -2239215.97368, 99730.29347 -2239215.7213, 99730.30719 -2239215.67607, 99730.29818 -2239215.64638, 99730.20717 -2239215.47611, 99730.1981 -2239215.44622, 99730.10712 -2239215.276, 99730.01224 -2239214.96324, 99729.84854 -2239214.87574, 99729.78878 -2239214.85761, 99729.6417 -2239214.779, 99729.56365 -2239214.77131, 99729.18846 -2239214.6575, 99729.14953 -2239214.63669, 99728.8883 -2239214.55745, 99728.54253 -2239214.37263, 99728.23946 -2239214.1239, 99728.2077 -2239214.08521, 99728.06286 -2239214.07094, 99727.85972 -2239214.00932, 99727.85272 -2239214.00932, 99727.46254 -2239213.97089, 99727.08736 -2239213.85708, 99726.91714 -2239213.7661, 99726.88725 -2239213.75703, 99726.717 -2239213.66603, 99726.68714 -2239213.65697, 99726.34137 -2239213.47215, 99726.28616 -2239213.42684, 99726.1418 -2239213.47063, 99725.75162 -2239213.50906, 99725.65156 -2239213.50906, 99725.26138 -2239213.47063, 99724.8862 -2239213.35682, 99724.54042 -2239213.172, 99724.23735 -2239212.92327, 99724.19225 -2239212.86832, 99724.1373 -2239212.82322, 99723.88857 -2239212.52014, 99723.70375 -2239212.17437, 99723.69469 -2239212.14449, 99723.6037 -2239211.97427, 99723.48989 -2239211.59908, 99723.45146 -2239211.2089))
+</op>
+  </test>
+
+  <test>
+    <desc>buffer-5</desc>
+    <op name="buffer" arg1="a" arg2="5">
+POLYGON ((99720.45146 -2239211.2089, 99720.45146 -2239210.50853, 99720.54753 -2239209.53308, 99720.60814 -2239209.33328, 99720.64759 -2239208.93276, 99720.72278 -2239208.68488, 99720.74764 -2239208.4325, 99721.03217 -2239207.49453, 99721.12316 -2239207.32431, 99721.13222 -2239207.29443, 99721.59427 -2239206.42999, 99722.21608 -2239205.67231, 99722.27106 -2239205.62719, 99722.31614 -2239205.57226, 99722.37109 -2239205.52716, 99722.41619 -2239205.47221, 99722.47112 -2239205.42713, 99722.51624 -2239205.37215, 99722.57119 -2239205.32705, 99722.61629 -2239205.2721, 99722.67127 -2239205.22698, 99722.71635 -2239205.17205, 99723.47403 -2239204.55023, 99724.33846 -2239204.08818, 99724.36835 -2239204.07911, 99724.53857 -2239203.98813, 99725.47653 -2239203.7036, 99725.49258 -2239203.70202, 99725.51782 -2239203.67126, 99726.2755 -2239203.04944, 99726.39661 -2239202.98471, 99726.8185 -2239202.47063, 99726.87346 -2239202.42553, 99726.91856 -2239202.37057, 99726.97351 -2239202.32547, 99727.01861 -2239202.27052, 99727.77629 -2239201.64871, 99727.93782 -2239201.56237, 99728.07645 -2239201.4486, 99728.94088 -2239200.98655, 99728.97078 -2239200.97748, 99729.14099 -2239200.8865, 99729.58577 -2239200.75158, 99730.0775 -2239200.34802, 99730.94194 -2239199.88597, 99731.8799 -2239199.60145, 99732.85535 -2239199.50537, 99733.15551 -2239199.50537, 99734.13096 -2239199.60145, 99735.06893 -2239199.88597, 99735.2392 -2239199.97698, 99735.26903 -2239199.98603, 99736.12018 -2239200.44097, 99736.26956 -2239200.48629, 99736.47875 -2239200.5981, 99736.76982 -2239200.6864, 99737.63426 -2239201.14844, 99738.39194 -2239201.77026, 99739.01376 -2239202.52794, 99739.47581 -2239203.39238, 99739.76033 -2239204.33034, 99739.8158 -2239204.89347, 99739.97607 -2239205.19332, 99739.98514 -2239205.22321, 99740.07612 -2239205.39343, 99740.36065 -2239206.33139, 99740.41469 -2239206.88008, 99740.4607 -2239207.03176, 99740.47097 -2239207.13598, 99740.56075 -2239207.43197, 99740.57101 -2239207.53616, 99740.66081 -2239207.83218, 99740.66951 -2239207.92055, 99740.848 -2239208.25447, 99740.99331 -2239208.37373, 99741.03843 -2239208.42871, 99741.09336 -2239208.47379, 99741.13844 -2239208.52872, 99741.19342 -2239208.57384, 99741.81523 -2239209.33152, 99742.27728 -2239210.19596, 99742.56181 -2239211.13392, 99742.5926 -2239211.44657, 99742.86197 -2239212.33455, 99742.90074 -2239212.72824, 99743.13715 -2239212.8546, 99743.89484 -2239213.47642, 99744.51665 -2239214.2341, 99744.9787 -2239215.09853, 99745.26323 -2239216.0365, 99745.3593 -2239217.01195, 99745.3593 -2239217.21206, 99745.26323 -2239218.18751, 99745.18804 -2239218.43539, 99745.16318 -2239218.68777, 99744.87865 -2239219.62574, 99744.4166 -2239220.49017, 99743.79478 -2239221.24785, 99743.0371 -2239221.86967, 99742.17267 -2239222.33172, 99742.08305 -2239222.3589, 99741.57235 -2239222.63188, 99741.54248 -2239222.64094, 99741.40242 -2239222.7158, 99741.33621 -2239222.77014, 99741.01312 -2239222.94283, 99740.73589 -2239223.17035, 99739.87146 -2239223.6324, 99738.93349 -2239223.91693, 99738.68112 -2239223.94179, 99738.43323 -2239224.01698, 99738.32904 -2239224.02724, 99738.03302 -2239224.11704, 99737.05757 -2239224.21311, 99736.95751 -2239224.21311, 99735.98206 -2239224.11704, 99735.73415 -2239224.04184, 99735.4818 -2239224.01698, 99734.54383 -2239223.73246, 99734.20335 -2239223.55047, 99734.14362 -2239223.53235, 99733.27919 -2239223.0703, 99732.56422 -2239222.48354, 99731.8799 -2239222.41614, 99731.58392 -2239222.32636, 99731.47969 -2239222.31609, 99730.54173 -2239222.03156, 99730.50281 -2239222.01076, 99730.24157 -2239221.93151, 99729.37713 -2239221.46946, 99728.61945 -2239220.84764, 99728.57435 -2239220.79269, 99728.5194 -2239220.74759, 99727.89759 -2239219.98991, 99727.43554 -2239219.12547, 99727.15101 -2239218.18751, 99727.05493 -2239217.21206, 99727.05493 -2239217.01195, 99727.05953 -2239216.96524, 99726.98147 -2239216.92351, 99726.87727 -2239216.91325, 99725.93931 -2239216.62872, 99725.76905 -2239216.53772, 99725.7392 -2239216.52866, 99725.70253 -2239216.50906, 99725.65156 -2239216.50906, 99724.67611 -2239216.41298, 99723.73815 -2239216.12845, 99722.87371 -2239215.6664, 99722.11603 -2239215.04459, 99722.07093 -2239214.98964, 99722.01598 -2239214.94454, 99721.39416 -2239214.18686, 99720.93211 -2239213.32242, 99720.92305 -2239213.29255, 99720.83206 -2239213.12232, 99720.54753 -2239212.18435, 99720.45146 -2239211.2089))
+    </op>
+  </test>
+
+  <test>
+    <desc>buffer-10</desc>
+    <op name="buffer" arg1="a" arg2="10">
+      POLYGON((99739.3044617493 -2239228.93117449,99739.008469 -2239229.020963,99737.057565 -2239229.21311,99736.957513 -2239229.21311,99735.00661 -2239229.020963,99734.7587215452 -2239228.94576679,99734.506346 -2239228.92091,99732.630415 -2239228.351853,99732.2899489618 -2239228.16987015,99732.230205 -2239228.151747,99730.501337 -2239227.227648,99730.4848796373 -2239227.2141418,99728.62831 -2239226.650958,99728.5893723796 -2239226.63014541,99728.328152 -2239226.550905,99726.599284 -2239225.626806,99725.083918 -2239224.383178,99725.0388167068 -2239224.32822188,99724.983866 -2239224.283125,99723.740237 -2239222.76776,99722.8223261684 -2239221.05046925,99721.82473 -2239220.747852,99720.095862 -2239219.823753,99718.580496 -2239218.580124,99718.5353971293 -2239218.52517087,99718.480444 -2239218.480072,99717.236815 -2239216.964706,99716.312716 -2239215.235838,99716.3036531494 -2239215.20596176,99716.212664 -2239215.035733,99715.643606 -2239213.159802,99715.451459 -2239211.208899,99715.451459 -2239210.50853,99715.643606 -2239208.557627,99715.7042101752 -2239208.357842,99715.743659 -2239207.957311,99715.8188539234 -2239207.70942636,99715.843711 -2239207.457048,99716.412769 -2239205.581117,99716.5037597346 -2239205.41088527,99716.512822 -2239205.381011,99717.436921 -2239203.652143,99718.680549 -2239202.136778,99718.7355025838 -2239202.09167879,99718.780602 -2239202.036725,99718.8355551293 -2239201.99162613,99718.880654 -2239201.936673,99718.935607786 -2239201.89157358,99718.980707 -2239201.83662,99719.0356606586 -2239201.79152069,99719.08076 -2239201.736567,99719.1357131293 -2239201.69146813,99719.180812 -2239201.636515,99720.696178 -2239200.392886,99722.425046 -2239199.468787,99722.4549222379 -2239199.45972415,99722.625151 -2239199.368735,99723.0271739372 -2239199.24678256,99723.282971 -2239198.935093,99723.3379241293 -2239198.88999413,99723.383023 -2239198.835041,99723.437976786 -2239198.78994158,99723.483076 -2239198.734988,99724.998441 -2239197.49136,99725.1599836931 -2239197.40501365,99725.298599 -2239197.291255,99727.027467 -2239196.367155,99727.0573455502 -2239196.35809145,99727.1672091138 -2239196.29936816,99727.299652 -2239196.190675,99729.02852 -2239195.266576,99730.904451 -2239194.697519,99732.855355 -2239194.505372,99733.155512 -2239194.505372,99735.106416 -2239194.697519,99736.982347 -2239195.266576,99737.1525800191 -2239195.35756742,99737.182452 -2239195.366629,99738.0336074759 -2239195.82158098,99738.182978 -2239195.866892,99738.3921436726 -2239195.97869336,99738.683242 -2239196.066997,99740.41211 -2239196.991097,99741.927475 -2239198.234725,99743.171103 -2239199.75009,99744.095203 -2239201.478958,99744.66426 -2239203.35489,99744.6723060104 -2239203.43658259,99744.695519 -2239203.480011,99745.264576 -2239205.355942,99745.3020732906 -2239205.73665892,99745.972577 -2239206.55367,99746.896677 -2239208.282538,99747.3895739426 -2239209.90740274,99747.430371 -2239209.940884,99748.673999 -2239211.45625,99749.598098 -2239213.185118,99750.167155 -2239215.061049,99750.359303 -2239217.011952,99750.359303 -2239217.212057,99750.167155 -2239219.16296,99750.0919601843 -2239219.41084441,99750.067103 -2239219.663224,99749.498045 -2239221.539155,99748.573946 -2239223.268023,99747.330318 -2239224.783388,99745.814952 -2239226.027017,99744.086084 -2239226.951116,99744.0485605807 -2239226.9624986,99743.7909773231 -2239227.10017983,99743.513742 -2239227.327701,99741.784874 -2239228.2518,99739.908942 -2239228.820858,99739.6565636369 -2239228.84571508,99739.408679 -2239228.92091,99739.3044617493 -2239228.93117449))
+    </op>
+  </test>
+
+</case>
+
+</run>
diff --git a/tests/xmltester/tests/ticket/bug488.xml b/tests/xmltester/tests/ticket/bug488.xml
new file mode 100644
index 0000000..33da73f
--- /dev/null
+++ b/tests/xmltester/tests/ticket/bug488.xml
@@ -0,0 +1,45 @@
+
+<run>
+  <desc>
+    http://trac.osgeo.org/geos/ticket/488
+  </desc>
+  <precisionModel type="FLOATING" />
+
+  <case>
+    <desc>
+      TopologyException unioning two valid polygons.
+      Cause is very high precision causing almost-coincident line segments.
+      This causes robustness failures in noding in JTS 1.12.
+      Reduced version.
+    </desc>
+    <a>
+01060000000100000001030000000100000005000000DF52A140EC490340251EBD88237048404F7F9BC7814D0340D9C5653E1270484041B01B9F1C4C0340A9FB014212704840002EF0471C4C0340EC39718803704840DF52A140EC490340251EBD8823704840
+    </a>
+    <b>
+01060000000200000001030000000100000004000000EF54EBB0384B03403FC50B78F36F484040B01B9F1C4C0340A9FB0142127048404F7F9BC7814D0340D9C5653E12704840EF54EBB0384B03403FC50B78F36F4840010300000001000000040000008D246CEE344E034016CFC66D597048404F7F9BC7814D0340D9C5653E1270484041B01B9F1C4C0340A9FB0142127048408D246CEE344E034016CFC66D59704840
+    </b>
+    <test>
+      <op name='union' arg1='A' arg2='B' >
+01030000000100000007000000DF52A140EC490340251EBD8823704840E66E8AF0484C034079579A23187048408D246CEE344E034016CFC66D597048404F7F9BC7814D0340D9C5653E12704840EF54EBB0384B03403FC50B78F36F484032DCBFEACF4B034080B385E507704840DF52A140EC490340251EBD8823704840
+      </op>
+    </test>
+  </case>
+
+  <case>
+    <desc>
+      TopologyException unioning two valid polygons.
+      Cause is very high precision causing almost-coincident line segments.
+      This causes robustness failures in noding in JTS 1.12.
+      Full version, using UnaryUnion.
+    </desc>
+    <a>
+ 01070000000800000001030000000100000017000000655E3A27EC4703406906F11FE66F48407285047CEC4703400D8482D9F46F484029EB1855874603407741FDDCF46F4840409518A987460340F4658E9603704840B888AA59BD43034025CD6A9D03704840D8D514ACBD4303404A9AFB5612704840806492835842034008445D5A127048408858D22659420340B8D07DCD2F704840F888EA50BE4303404E231CCA2F704840FCEE55A3BE43034025DFAB833E704840AFA238CE23450340B2D241803E7048401F486F21244503408B31D1394D704840CCCD75A45349034040D7602F4D7048406A9947F952490340C5C941BC2F704840F56B8977824D03401F3486B12F7048404F7F9BC7814D0340D9C5653E1270484041B01B9F1C4C0340A9FB014212704840002EF0471C4C0340EC397188037048401ADA3A20B74A0340A210058C037048402798DAC9B64A0340E1F173D2F46F48406022AF17814D03403BEB43CBF46F4840CB89B9BF804D03405375B211E66F4840655E3A27EC4703406906F11FE66F4840010300000002000000160000005A59B2EB13530340E0CCA41CAB6F48405AC5D14614530340D2A637D6B96F4840E03957FF495003403886AADDB96F48400F5AE1584A50034036093D97C86F48406384CF0F804D034067788E9EC86F48404F7F9BC7814D0340D9C5653E1270484041B01B9F1C4C0340A9FB0142127048408A9547F61C4C0340516292FB2070484078A940254D5003408D53C4633E7048402D5DCE7E4D500340E8A2531D4D7048400E3B22D617530340FC9AE0154D704840D919463118530340228B6FCF5B70484063CDDE9B775B0340CD31DC716A704840F24C3EADAA580340574EC66603704840169AEFD40F5A034042D4DE620370484086DEF9DC735B03402ED93A32D76F4840F92E99273E5E03405720422AD76F4840F0AB1DAC07610340ED7A03AFB96F484068C81149076103404DB670F5AA6F48405AC22326A25F0340CEF481F9AA6F484025CD6488A25F0340A0BB14B3B96F48405A59B2EB13530340E0CCA41CAB6F484005000000BCF099184C500340C3421437127048403F7326724C50034076A3A4F020704840DF8DDC48E74E0340949551F42070484070EA1AF0E64E0340E032C13A12704840BCF099184C500340C3421437127048400103000000010000000500000016D36D62BC4303405943B670D76F48405807D7B4BC430340A921482AE66F48402E83F8DA214503405620DE26E66F48406F73C48721450340E3434C6DD76F484016D36D62BC4303405943B670D76F4840010300000002000000170000006A9947F952490340C5C941BC2F704840CCCD75A45349034040D7602F4D704840167F1C4D89460340FFC55E364D704840C1651EA189460340D4C7EDEF5B704840F71F96CDEE4703402BFD72EC5B704840AB496322EF470340F0A101A66A7048402387A54F5449034021787EA26A704840AAF53DA554490340CABF0C5C7970484060B64AD3B94A0340CD368158797048408A6BAE29BA4A03405C210F1288704840570D33B6E94E0340C9503A078870484009A86E5DE94E03401F6CAC4D797048402CD0AB71485703403F00213779704840E474261448570340A4CC927D6A7048402B536441AD580340F4A0B3796A704840947E14E3AC5803404A1425C05B704840D919463118530340228B6FCF5B7048400E3B22D617530340FC9AE0154D7048402D5DCE7E4D500340E8A2531D4D70484077A940254D5003408D53C4633E7048403E0361FAE74E0340AC4971673E70484023969EA1E74E0340329DE1AD2F7048406A9947F952490340C5C941BC2F704840050000002EF880CF824D034094E2156B3E70484057E87827834D0340EC35A5244D7048409097CDFB1D4C0340957341284D7048403089A0A41D4C0340491EB26E3E7048402EF880CF824D034094E2156B3E70484001030000000100000015000000F2AB10721F3E0340743421EB496E484097F444C11F3E034025AEBCA4586E4840CCF603D2843F0340765174A1586E4840835D0322853F0340C36E0F5B676E484032977910203E034040CD575E676E4840C193AE5F203E0340B791F217766E4840131F0372853F03406E31AA14766E4840803B03C2853F0340759944CE846E484078CC40E84F42034052BF9AC7846E4840EA326D8B504203401D78CE3AA26E48403A6ED4B41A450340E2230334A26E4840477DA8611A4503408878697A936E4840FEC590757F4603403745F776936E4840B66C9A217F4603400C415DBD846E4840458FB734E4470340F1B2E2B9846E4840E76F368BE34703406B9EAD46676E484031E12668194503406C569A4D676E4840156AFC14194503407040FF93586E4840B1D83E04B4430340A00F6997586E48403A83DFB1B34303402A9DCDDD496E4840F2AB10721F3E0340743421EB496E48400103000000020000000F000000C039DB99564203405A14F300BA6F484021D5163D57420340B6E51774D76F48408DB20FCD273E0340559E0A7ED76F4840676279928D3F0340BA7FE5EDF46F484016998B6B283E03406C0E2EF1F46F4840B5E7080A293E03404612506412704840D8D514ACBD4303404A9AFB5612704840B888AA59BD43034025CD6A9D037048403F9518A987460340F4658E9603704840655E3A27EC4703406906F11FE66F4840CA89B9BF804D03405375B211E66F4840380346EB1A4C034069A42AA2C86F4840C0D831A25049034034E549A9C86F4840F7F89D4C504903406558B7EFB96F4840C039DB99564203405A14F300BA6F4840050000006E73C48721450340E3434C6DD76F48402E83F8DA214503405620DE26E66F48405807D7B4BC430340A921482AE66F484016D36D62BC4303405943B670D76F48406E73C48721450340E3434C6DD76F4840010300000001000000050000009351D4474949034027C85FB6846E48406F38609D4949034086C8F96F936E48405C6047B1AE4A0340227F6E6C936E4840B7B2F05AAE4A0340B480D4B2846E48409351D4474949034027C85FB6846E4840010300000001000000050000002798DAC9B64A0340E1F173D2F46F484040B01B9F1C4C0340A9FB0142127048404F7F9BC7814D0340D9C5653E127048405F22AF17814D03403BEB43CBF46F48402798DAC9B64A0340E1F173D2F46F4840
+    </a>
+    <test>
+      <op name='union' arg1='A' >
+01060000000300000001030000000100000015000000F2AB10721F3E0340743421EB496E484097F444C11F3E034025AEBCA4586E4840CCF603D2843F0340765174A1586E4840835D0322853F0340C36E0F5B676E484032977910203E034040CD575E676E4840C193AE5F203E0340B791F217766E4840131F0372853F03406E31AA14766E4840803B03C2853F0340759944CE846E484078CC40E84F42034052BF9AC7846E4840EA326D8B504203401D78CE3AA26E48403A6ED4B41A450340E2230334A26E4840477DA8611A4503408878697A936E4840FEC590757F4603403745F776936E4840B66C9A217F4603400C415DBD846E4840458FB734E4470340F1B2E2B9846E4840E76F368BE34703406B9EAD46676E484031E12668194503406C569A4D676E4840156AFC14194503407040FF93586E4840B1D83E04B4430340A00F6997586E48403A83DFB1B34303402A9DCDDD496E4840F2AB10721F3E0340743421EB496E4840010300000001000000050000009351D4474949034027C85FB6846E48406F38609D4949034086C8F96F936E48405C6047B1AE4A0340227F6E6C936E4840B7B2F05AAE4A0340B480D4B2846E48409351D4474949034027C85FB6846E484001030000000800000033000000C039DB99564203405A14F300BA6F484021D5163D57420340B6E51774D76F48408DB20FCD273E0340559E0A7ED76F4840676279928D3F0340BA7FE5EDF46F484016998B6B283E03406C0E2EF1F46F4840B5E7080A293E03404612506412704840D8D514ACBD4303404A9AFB5612704840806492835842034008445D5A127048408858D22659420340B8D07DCD2F704840F888EA50BE4303404E231CCA2F704840FCEE55A3BE43034025DFAB833E704840AFA238CE23450340B2D241803E7048401F486F21244503408B31D1394D704840CCCD75A45349034040D7602F4D704840167F1C4D89460340FFC55E364D704840C1651EA189460340D4C7EDEF5B704840F71F96CDEE4703402BFD72EC5B704840AB496322EF470340F0A101A66A7048402387A54F5449034021787EA26A704840AAF53DA554490340CABF0C5C7970484060B64AD3B94A0340CD368158797048408A6BAE29BA4A03405C210F1288704840570D33B6E94E0340C9503A078870484009A86E5DE94E03401F6CAC4D797048402CD0AB71485703403F00213779704840E474261448570340A4CC927D6A7048402B536441AD580340F4A0B3796A7048407B7FF321AD5803401C780B916570484063CDDE9B775B0340CD31DC716A704840F24C3EADAA580340574EC66603704840169AEFD40F5A034042D4DE620370484086DEF9DC735B03402ED93A32D76F4840F92E99273E5E03405720422AD76F4840F0AB1DAC07610340ED7A03AFB96F484068C81149076103404DB670F5AA6F48405AC22326A25F0340CEF481F9AA6F484025CD6488A25F0340A0BB14B3B96F48405A59B2EB13530340E0CCA41CAB6F48405AC5D14614530340D2A637D6B96F4840E03957FF495003403886AADDB96F48400F5AE1584A50034036093D97C86F48406384CF0F804D034067788E9EC86F48404F7F9BC7814D0340D9C5653E127048406022AF17814D03403BEB43CBF46F4840CB89B9BF804D03405375B211E66F4840655E3A27EC4703406906F11FE66F4840CA89B9BF804D03405375B211E66F4840380346EB1A4C034069A42AA2C86F4840C0D831A25049034034E549A9C86F4840F7F89D4C504903406558B7EFB96F4840C039DB99564203405A14F300BA6F484004000000655E3A27EC4703406906F11FE66F48407285047CEC4703400D8482D9F46F4840485227E839470340C4E33FDBF46F4840655E3A27EC4703406906F11FE66F484004000000B888AA59BD43034025CD6A9D037048403F9518A987460340F4658E9603704840409518A987460340F4658E9603704840B888AA59BD43034025CD6A9D03704840040000002798DAC9B64A0340E1F173D2F46F4840EF4C7DB4694B03403D243B8A037048401ADA3A20B74A0340A210058C037048402798DAC9B64A0340E1F173D2F46F48400400000024BB365A824D0340CBF1F0C82A7048402AB8160E354E0340DF9EADAF2F70484002218977824D034056A879B12F70484024BB365A824D0340CBF1F0C82A70484004000000925A34BFE74E034062EC56963470484077A940254D5003408D53C4633E7048403E0361FAE74E0340AC4971673E704840925A34BFE74E034062EC56963470484005000000BCF099184C500340C3421437127048403F7326724C50034076A3A4F020704840DF8DDC48E74E0340949551F42070484070EA1AF0E64E0340E032C13A12704840BCF099184C500340C342143712704840050000002EF880CF824D034094E2156B3E70484057E87827834D0340EC35A5244D7048409097CDFB1D4C0340957341284D7048403089A0A41D4C0340491EB26E3E7048402EF880CF824D034094E2156B3E704840
+      </op>
+    </test>
+  </case>
+
+</run>
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 8f7d2cb..b954fb6 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -76,6 +76,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(bindir)"
 SCRIPTS = $(bin_SCRIPTS)
 SOURCES =
@@ -323,9 +329,7 @@ uninstall-binSCRIPTS:
 	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	       sed -e 's,.*/,,;$(transform)'`; \
-	test -n "$$list" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(bindir)" && rm -f $$files
+	dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -386,10 +390,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tools/geos-config.in b/tools/geos-config.in
index cf2d73b..9dbf495 100644
--- a/tools/geos-config.in
+++ b/tools/geos-config.in
@@ -11,6 +11,7 @@ Options:
      [--prefix]
      [--version]
      [--libs]
+     [--clibs]
      [--cflags]
      [--ldflags]
      [--includes]
@@ -39,6 +40,9 @@ case $1 in
     --libs)
       echo -L${libdir} -lgeos
       ;;
+    --clibs)
+      echo -L${libdir} -lgeos_c
+      ;;
     --ldflags)
       echo -L${libdir}
       ;;

-- 
Geometry engine for Geographic Information Systems



More information about the Pkg-grass-devel mailing list