-diff -Naur geos-2.2.1.orig/swig/geos.i geos-2.2.1/swig/geos.i
---- geos-2.2.1.orig/swig/geos.i 2005-12-21 09:09:28.000000000 +0100
-+++ geos-2.2.1/swig/geos.i 2005-12-21 09:15:35.000000000 +0100
-@@ -1,5 +1,5 @@
- /* =========================================================================
-- * $Id$
-+ * $Id$
- *
- * geos.i
- *
-@@ -16,15 +16,34 @@
-
- %module geos
- %include "std_string.i"
-+%include "std_vector.i"
- %include "exception.i"
-
- %{
- #include "../../source/headers/geos.h"
-+#include "../../source/headers/geos/opLinemerge.h"
-+#include "../../source/headers/geos/opPolygonize.h"
- %}
-
- // Following methods are prototypes but unimplemented and are to be ignored
- %ignore geos::MultiPoint::isClosed;
-
-+%apply SWIGTYPE *DISOWN { geos::CoordinateSequence * };
-+%apply SWIGTYPE *DISOWN { geos::LinearRing * };
-+%apply SWIGTYPE *DISOWN { std::vector<geos::Geometry * > * };
-+
-+// no transfer of ownership
-+%ignore geos::GeometryFactory::createPoint(CoordinateSequence *) const;
-+%rename(createLineStringP) geos::GeometryFactory::createLineString(CoordinateSequence *) const;
-+%rename(createLinearRingP) geos::GeometryFactory::createLinearRing(CoordinateSequence *) const;
-+%rename(createPolygonPP) geos::GeometryFactory::createPolygon(LinearRing *,vector<Geometry * > *) const;
-+%ignore geos::GeometryFactory::createGeometryCollection(vector<Geometry * > *) const;
-+%ignore geos::GeometryFactory::buildGeometry(vector<Geometry * > *) const;
-+%ignore geos::GeometryFactory::createMultiPoint(vector<Geometry * > *) const;
-+%ignore geos::GeometryFactory::createMultiLineString(vector<Geometry * > *) const;
-+%ignore geos::GeometryFactory::createMultiLinearRing(vector<Geometry * > *) const;
-+%ignore geos::GeometryFactory::createMultiPolygon(vector<Geometry * > *) const;
-+
- // Required renaming
- %rename(Coordinate_Coordinate) Coordinate::Coordinate;
-
-@@ -43,3 +62,25 @@
- %include "../../source/headers/geos/util.h"
- %include "../../source/headers/geos/io.h"
-
-+
-+%ignore geos::LineMergeDirectedEdge;
-+%ignore geos::PolygonizeEdge;
-+%ignore geos::polygonizeEdgeRing;
-+%ignore geos::PolygonizeDirectedEdge;
-+%ignore geos::PolygonizeGraph;
-+
-+%include "../../source/headers/geos/opLinemerge.h"
-+%include "../../source/headers/geos/opPolygonize.h"
-+
-+//~ template<class T>
-+//~ class vector {
-+//~ public:
-+ //~ vector();
-+ //~ ~vector();
-+ //~ void push_back(const T obj);
-+ //~ void reserve(size_t n);
-+//~ };
-+
+--- geos/swig/python/python.i.orig 1970-01-01 01:00:00.000000000 +0100
++++ geos/swig/python/python.i 2006-05-28 23:19:23.272220250 +0200
+@@ -0,0 +1,3 @@
+%template(vector_GeometryP) std::vector<geos::Geometry *>;
+%template(vector_LineStringP) std::vector<geos::LineString *>;
+%template(vector_PolygonP) std::vector<geos::Polygon *>;
-diff -Naur geos-2.2.1.orig/swig/Makefile.in geos-2.2.1/swig/Makefile.in
---- geos-2.2.1.orig/swig/Makefile.in 2005-12-21 09:09:28.000000000 +0100
-+++ geos-2.2.1/swig/Makefile.in 2005-12-21 09:15:35.000000000 +0100
-@@ -1,8 +1,8 @@
--# Makefile.in generated by automake 1.9.2 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004 Free Software Foundation, Inc.
-+# 2003, 2004, 2005 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.
-@@ -220,7 +220,13 @@
- # (which will cause the Makefiles to be regenerated when you run `make');
- # (2) otherwise, pass the desired values on the `make' command line.
- $(RECURSIVE_TARGETS):
-- @set fnord $$MAKEFLAGS; amf=$$2; \
-+ @failcom='exit 1'; \
-+ for f in x $$MAKEFLAGS; do \
-+ case $$f in \
-+ *=* | --[!k]*);; \
-+ *k*) failcom='fail=yes';; \
-+ esac; \
-+ done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
-@@ -232,7 +238,7 @@
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-+ || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-@@ -240,7 +246,13 @@
-
- mostlyclean-recursive clean-recursive distclean-recursive \
- maintainer-clean-recursive:
-- @set fnord $$MAKEFLAGS; amf=$$2; \
-+ @failcom='exit 1'; \
-+ for f in x $$MAKEFLAGS; do \
-+ case $$f in \
-+ *=* | --[!k]*);; \
-+ *k*) failcom='fail=yes';; \
-+ esac; \
-+ done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-@@ -261,7 +273,7 @@
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-+ || eval $$failcom; \
- done && test -z "$$fail"
- tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
-diff -Naur geos-2.2.1.orig/swig/python/example.py geos-2.2.1/swig/python/example.py
---- geos-2.2.1.orig/swig/python/example.py 1970-01-01 01:00:00.000000000 +0100
-+++ geos-2.2.1/swig/python/example.py 2005-12-21 09:15:35.000000000 +0100
-@@ -0,0 +1,532 @@
-+import os
-+import sys
-+import distutils.util
-+import math
-+
-+# Put local build directory on head of python path
-+platformdir = '-'.join((distutils.util.get_platform(),
-+ '.'.join(map(str, sys.version_info[0:2]))))
-+sys.path.insert(0, os.path.join('build', 'lib.' + platformdir))
-+
-+# import geos from the local build directory
-+import geos
-+
-+pm = geos.PrecisionModel(2.0,0,0)
-+global_factory = geos.GeometryFactory(pm,-1)
-+
-+def wkt_print_geoms(geoms):
-+ wkt = geos.WKTWriter()
-+ size = len(geoms)
-+ for i in range(size):
-+ tmp = wkt.write(geoms[i])
-+ print "[%d]" % i, tmp
-+
-+def create_point(x,y):
-+ c = geos.Coordinate(x,y)
-+ p = global_factory.createPoint(c)
-+
-+ return p
-+
-+def create_ushaped_linestring(xoffset, yoffset, side):
-+ cl = geos.DefaultCoordinateSequence()
-+
-+ cl.add(geos.Coordinate(xoffset, yoffset))
-+ cl.add(geos.Coordinate(xoffset, yoffset+side))
-+ cl.add(geos.Coordinate(xoffset+side, yoffset+side))
-+ cl.add(geos.Coordinate(xoffset+side, yoffset))
-+
-+ ls = global_factory.createLineString(cl)
-+ return ls
-+
-+def create_square_linearring(xoffset,yoffset,side):
-+ cl = geos.DefaultCoordinateSequence()
-+
-+ cl.add(geos.Coordinate(xoffset,yoffset))
-+ cl.add(geos.Coordinate(xoffset,yoffset+side))
-+ cl.add(geos.Coordinate(xoffset+side,yoffset+side))
-+ cl.add(geos.Coordinate(xoffset+side,yoffset))
-+ cl.add(geos.Coordinate(xoffset,yoffset))
-+
-+ lr = global_factory.createLinearRing(cl)
-+ return lr
-+
-+def create_square_polygon(xoffset,yoffset,side):
-+ outer = create_square_linearring(xoffset,yoffset,side)
-+ inner = create_square_linearring(xoffset+(side/3.),yoffset+(side/3.),(side/3.))
-+
-+ holes = geos.vector_GeometryP()
-+ holes.push_back(inner)
-+
-+ poly = global_factory.createPolygonPP(outer,holes)
-+ assert outer.thisown == 0
-+ assert holes.thisown == 0
-+ inner.thisown = 0
-+ return poly
-+
-+def create_simple_collection(geoms):
-+ collect = geos.vector_GeometryP()
-+ for i in geoms:
-+ collect.push_back(i)
-+ return global_factory.createGeometryCollection(collect)
-+
-+def create_circle(centerX,centerY,radius):
-+ shapefactory = geos.GeometricShapeFactory(global_factory)
-+ shapefactory.setCentre(geos.Coordinate(centerX, centerY))
-+ shapefactory.setSize(radius)
-+ return shapefactory.createCircle()
-+
-+def create_ellipse(centerX,centerY,width,height):
-+ shapefactory = geos.GeometricShapeFactory(global_factory)
-+ shapefactory.setCentre(geos.Coordinate(centerX, centerY))
-+ shapefactory.setHeight(height)
-+ shapefactory.setWidth(width)
-+ return shapefactory.createCircle()
-+
-+def create_rectangle(llX,llY,width,height):
-+ shapefactory = geos.GeometricShapeFactory(global_factory)
-+ shapefactory.setBase(geos.Coordinate(llX, llY))
-+ shapefactory.setHeight(height)
-+ shapefactory.setWidth(width)
-+ shapefactory.setNumPoints(4)
-+ return shapefactory.createRectangle()
-+
-+def create_arc(llX,llY,width,height,startang,endang):
-+ shapefactory = geos.GeometricShapeFactory(global_factory)
-+ shapefactory.setBase(geos.Coordinate(llX, llY))
-+ shapefactory.setHeight(height)
-+ shapefactory.setWidth(width)
-+ #shapefactory.setNumPoints(100) #the default (100 pts)
-+ return shapefactory.createArc(startang, endang)
-+
-+def do_all():
-+ geoms = []
-+
-+ geoms.append(create_point(150, 350))
-+ geoms.append(create_ushaped_linestring(60,60,100))
-+ geoms.append(create_square_linearring(0,0,100))
-+ geoms.append(create_square_polygon(0,200,300))
-+ geoms.append(create_square_polygon(0,250,300))
-+ geoms.append(create_simple_collection(geoms))
-+
-+ # These ones use a GeometricShapeFactory
-+ geoms.append(create_circle(0, 0, 10))
-+ geoms.append(create_ellipse(0, 0, 8, 12))
-+ geoms.append(create_rectangle(-5, -5, 10, 10)) # a square
-+ geoms.append(create_rectangle(-5, -5, 10, 20)) # a rectangle
-+
-+ # The upper-right quarter of a vertical ellipse
-+ geoms.append(create_arc(0, 0, 10, 20, 0, math.pi/2))
-+
-+ print "--------HERE ARE THE BASE GEOMS ----------"
-+ wkt_print_geoms(geoms)
-+
-+
-+####################
-+# UNARY OPERATIONS #
-+####################
-+
-+ ################
-+ #CENTROID #
-+ ################
-+ # Find centroid of each base geometry
-+ newgeoms = []
-+ for i in range(len(geoms)):
-+ newgeoms.append(geoms[i].getCentroid())
-+
-+ print "\n","------- AND HERE ARE THEIR CENTROIDS -----"
-+ wkt_print_geoms(newgeoms)
-+
-+ ################
-+ # BUFFER #
-+ ################
-+ newgeoms = []
-+ for i in range(len(geoms)):
-+ try:
-+ newgeoms.append(geoms[i].buffer(10))
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print "GEOS Exception: geometry ",geoms[i],"->buffer(10): ",exc.toString()
-+
-+ print "\n","--------HERE COMES THE BUFFERED GEOMS ----------"
-+ wkt_print_geoms(newgeoms)
-+
-+ ################
-+ # CONVEX HULL #
-+ ################
-+ newgeoms = []
-+ for i in range(len(geoms)):
-+ newgeoms.append(geoms[i].convexHull())
-+
-+ print "\n","--------HERE COMES THE HULLS----------"
-+ wkt_print_geoms(newgeoms)
-+
-+####################
-+# RELATIONAL OPERATORS #
-+####################
-+
-+ print "-------------------------------------------------------------------------------"
-+ print "RELATIONAL OPERATORS"
-+ print "-------------------------------------------------------------------------------"
-+
-+ size = len(geoms)
-+ ################
-+ # DISJOINT #
-+ ################
-+
-+ print
-+ print "\t".join([" DISJOINT "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].disjoint(geoms[j]):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # TOUCHES #
-+ ################
-+
-+ print
-+ print "\t".join([" TOUCHES "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].touches(geoms[j]):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # INTERSECTS #
-+ ################
-+
-+ print
-+ print "\t".join([" INTERSECTS "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].intersects(geoms[j]):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # CROSSES #
-+ ################
-+
-+ print
-+ print "\t".join([" CROSSES "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].crosses(geoms[j]):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # WITHIN #
-+ ################
-+
-+ print
-+ print "\t".join([" WITHIN "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].within(geoms[j]):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # CONTAINS #
-+ ################
-+
-+ print
-+ print "\t".join([" CONTAINS "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].contains(geoms[j]):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # OVERLAPS #
-+ ################
-+
-+ print
-+ print "\t".join([" OVERLAPS "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].overlaps(geoms[j]):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # RELATE #
-+ ################
-+
-+ print
-+ print "\t".join([" RELATE "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ im = geos.IntersectionMatrix('')
-+ try:
-+ if geoms[i].relate(geoms[j],"212101212"):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ im=geoms[i].relate(geoms[j])
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # EQUALS #
-+ ################
-+
-+ print
-+ print "\t".join([" EQUALS "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].equals(geoms[j]):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # EQUALS_EXACT #
-+ ################
-+
-+ print
-+ print "\t".join(["EQUALS_EXACT "]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].equalsExact(geoms[j],0.5):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+ ################
-+ # IS_WITHIN_DISTANCE #
-+ ################
-+
-+ print
-+ print "\t".join(["IS_WITHIN_DIST"]+["[%d]" % i for i in range(size)])
-+
-+ for i in range(size):
-+ print " [%d]\t" % i,
-+ for j in range(size):
-+ try:
-+ if geoms[i].isWithinDistance(geoms[j],2):
-+ print " 1\t",
-+ else:
-+ print " 0\t",
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ print " X\t",
-+ print
-+
-+####################
-+# COMBINATIONS
-+####################
-+
-+ print
-+ print "-------------------------------------------------------------------------------"
-+ print "COMBINATIONS"
-+ print "-------------------------------------------------------------------------------"
-+
-+ ################
-+ # UNION
-+ ################
-+
-+ newgeoms = []
-+ for i in range(size-1):
-+ for j in range(i+1,size):
-+ try:
-+ newgeoms.append(geoms[i].Union(geoms[j]))
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ pass
-+
-+ print "\n", "----- AND HERE ARE SOME UNION COMBINATIONS ------"
-+ wkt_print_geoms(newgeoms)
-+
-+ ################
-+ # INTERSECTION
-+ ################
-+
-+ newgeoms = []
-+ for i in range(size-1):
-+ for j in range(i+1,size):
-+ try:
-+ newgeoms.append(geoms[i].intersection(geoms[j]))
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ pass
-+
-+ print "\n", "----- HERE ARE SOME INTERSECTIONS COMBINATIONS ------"
-+ wkt_print_geoms(newgeoms)
-+
-+ ################
-+ # DIFFERENCE
-+ ################
-+
-+ newgeoms = []
-+ for i in range(size-1):
-+ for j in range(i+1,size):
-+ try:
-+ newgeoms.append(geoms[i].difference(geoms[j]))
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ pass
-+
-+ print "\n", "----- HERE ARE SOME DIFFERENCE COMBINATIONS ------"
-+ wkt_print_geoms(newgeoms)
-+
-+ ################
-+ # SYMMETRIC DIFFERENCE
-+ ################
-+
-+ newgeoms = []
-+ for i in range(size-1):
-+ for j in range(i+1,size):
-+ try:
-+ newgeoms.append(geoms[i].symDifference(geoms[j]))
-+ except geos.GEOSException():
-+ exc = geos.GEOSException()
-+ print exc.toString()
-+ except:
-+ pass
-+
-+ print "\n", "----- HERE ARE SYMMETRIC DIFFERENCES ------"
-+ wkt_print_geoms(newgeoms)
-+
-+ ################
-+ # LINEMERGE
-+ ################
-+ temp = geos.vector_GeometryP()
-+ for g in geoms:
-+ temp.push_back(g)
-+ lm = geos.LineMerger()
-+ lm.add(temp)
-+ mls = lm.getMergedLineStrings()
-+ newgeoms = []
-+ for i in range(mls.size()):
-+ newgeoms.append(mls[i])
-+ del mls
-+
-+ print "\n", "----- HERE IS THE LINEMERGE OUTPUT ------"
-+ wkt_print_geoms(newgeoms)
-+
-+ ################
-+ # POLYGONIZE
-+ ################
-+ temp = geos.vector_GeometryP()
-+ for g in geoms:
-+ temp.push_back(g)
-+ plgnzr = geos.Polygonizer()
-+ plgnzr.add(temp)
-+ polys = plgnzr.getPolygons()
-+ newgeoms = []
-+ for i in range(polys.size()):
-+ newgeoms.append(polys[i])
-+ del polys
-+
-+ print "\n", "----- HERE IS POLYGONIZE OUTPUT ------"
-+ wkt_print_geoms(newgeoms)
-+
-+print "GEOS", geos.geosversion(), "ported from JTS", geos.jtsport()
-+do_all()
-diff -Naur geos-2.2.1.orig/swig/python/Makefile.in geos-2.2.1/swig/python/Makefile.in
---- geos-2.2.1.orig/swig/python/Makefile.in 2005-12-21 09:09:28.000000000 +0100
-+++ geos-2.2.1/swig/python/Makefile.in 2005-12-21 09:15:35.000000000 +0100
-@@ -1,8 +1,8 @@
--# Makefile.in generated by automake 1.9.2 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004 Free Software Foundation, Inc.
-+# 2003, 2004, 2005 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.
-@@ -222,7 +222,13 @@
- # (which will cause the Makefiles to be regenerated when you run `make');
- # (2) otherwise, pass the desired values on the `make' command line.
- $(RECURSIVE_TARGETS):
-- @set fnord $$MAKEFLAGS; amf=$$2; \
-+ @failcom='exit 1'; \
-+ for f in x $$MAKEFLAGS; do \
-+ case $$f in \
-+ *=* | --[!k]*);; \
-+ *k*) failcom='fail=yes';; \
-+ esac; \
-+ done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
-@@ -234,7 +240,7 @@
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-+ || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-@@ -242,7 +248,13 @@
-
- mostlyclean-recursive clean-recursive distclean-recursive \
- maintainer-clean-recursive:
-- @set fnord $$MAKEFLAGS; amf=$$2; \
-+ @failcom='exit 1'; \
-+ for f in x $$MAKEFLAGS; do \
-+ case $$f in \
-+ *=* | --[!k]*);; \
-+ *k*) failcom='fail=yes';; \
-+ esac; \
-+ done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-@@ -263,7 +275,7 @@
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-+ || eval $$failcom; \
- done && test -z "$$fail"
- tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
-diff -Naur geos-2.2.1.orig/swig/python/setup.py geos-2.2.1/swig/python/setup.py
---- geos-2.2.1.orig/swig/python/setup.py 2005-12-21 09:09:28.000000000 +0100
-+++ geos-2.2.1/swig/python/setup.py 2005-12-21 09:15:35.000000000 +0100
-@@ -1,4 +1,4 @@
--# $Id$
-+# $Id$
- #
- # PyGEOS distutils setup script
- #
-@@ -20,22 +20,35 @@
- # ===========================================================================
-
- from distutils.core import setup, Extension
--
--# We're skipping the metadata for now
-+import sys
-
- # the extension module, source was generated by SWIG from geos.i
- #
- # Note that until geos is ready to be installed, we're linking against
- # the pre-installed library in source/geom/.libs.
--extmod = Extension("_geos", ["geos_wrap.cxx"],
-- include_dirs = ["../../source/headers",
-- "../../source/headers/geos"],
-- libraries = ["stdc++"],
-- extra_objects = ["../../source/geom/.libs/libgeos.a"])
-+
-+if sys.platform=='win32':
-+ extmod = Extension('_geos', ['geos_wrap.cxx'],
-+ include_dirs = ['../../source/headers',
-+ '../../source/headers/geos'],
-+ libraries = ['geos'],
-+ library_dirs=['../../source'],)
-+
-+else:
-+ extmod = Extension('_geos', ['geos_wrap.cxx'],
-+ include_dirs = ['../../source/headers',
-+ '../../source/headers/geos'],
-+ libraries = ['stdc++'],
-+ extra_objects = ['../../source/geom/.libs/libgeos.a'])
-
- # the python module, generated by SWIG from geos.i
--pymod = "geos"
-+pymod = 'geos'
-
- # The setup function
--setup(name = "PyGEOS", ext_modules = [extmod], py_modules = [pymod])
-+setup(name = 'PyGEOS',
-+ version = '2.1.1',
-+ description = 'Python SWIG interface for GEOS',
-+ url='http://geos.refractions.net',
-+ ext_modules = [extmod],
-+ py_modules = [pymod])
-
-diff -Naur geos-2.2.1.orig/swig/python/tests/cases/Makefile.in geos-2.2.1/swig/python/tests/cases/Makefile.in
---- geos-2.2.1.orig/swig/python/tests/cases/Makefile.in 2005-12-21 09:09:28.000000000 +0100
-+++ geos-2.2.1/swig/python/tests/cases/Makefile.in 2005-12-21 09:15:35.000000000 +0100
-@@ -1,8 +1,8 @@
--# Makefile.in generated by automake 1.9.2 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004 Free Software Foundation, Inc.
-+# 2003, 2004, 2005 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.
-diff -Naur geos-2.2.1.orig/swig/python/tests/Makefile.in geos-2.2.1/swig/python/tests/Makefile.in
---- geos-2.2.1.orig/swig/python/tests/Makefile.in 2005-12-21 09:09:28.000000000 +0100
-+++ geos-2.2.1/swig/python/tests/Makefile.in 2005-12-21 09:15:35.000000000 +0100
-@@ -1,8 +1,8 @@
--# Makefile.in generated by automake 1.9.2 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004 Free Software Foundation, Inc.
-+# 2003, 2004, 2005 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.
-@@ -222,7 +222,13 @@
- # (which will cause the Makefiles to be regenerated when you run `make');
- # (2) otherwise, pass the desired values on the `make' command line.
- $(RECURSIVE_TARGETS):
-- @set fnord $$MAKEFLAGS; amf=$$2; \
-+ @failcom='exit 1'; \
-+ for f in x $$MAKEFLAGS; do \
-+ case $$f in \
-+ *=* | --[!k]*);; \
-+ *k*) failcom='fail=yes';; \
-+ esac; \
-+ done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
-@@ -234,7 +240,7 @@
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-+ || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-@@ -242,7 +248,13 @@
-
- mostlyclean-recursive clean-recursive distclean-recursive \
- maintainer-clean-recursive:
-- @set fnord $$MAKEFLAGS; amf=$$2; \
-+ @failcom='exit 1'; \
-+ for f in x $$MAKEFLAGS; do \
-+ case $$f in \
-+ *=* | --[!k]*);; \
-+ *k*) failcom='fail=yes';; \
-+ esac; \
-+ done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-@@ -263,7 +275,7 @@
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-+ || eval $$failcom; \
- done && test -z "$$fail"
- tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
+--- geos-2.2.2/swig/geos.i.orig 2006-04-04 11:50:17.000000000 +0200
++++ geos-2.2.2/swig/geos.i 2006-05-28 23:30:37.130333750 +0200
+@@ -202,12 +202,14 @@
+ geos::MultiPoint, geos::MultiLineString,
+ geos::MultiPolygon, geos::GeometryCollection);
+
++/*
+ %newobject geos::Geometry::fromHEX;
+ %factory(geos::Geometry * geos::Geometry::fromHEX, geos::Point,
+ geos::LinearRing, geos::LineString,
+ geos::Polygon,
+ geos::MultiPoint, geos::MultiLineString,
+ geos::MultiPolygon, geos::GeometryCollection);
++*/
+
+ /* ================= Operators ============== */
+ /* Ignore these for now - if we don't SWIG will create
+@@ -316,10 +318,11 @@
+ std::stringstream in(wkt);
+ return geos_Geometry_reader().read(in);
+ }
+-
++/*
+ static Geometry* fromHEX(std::string hex)
+ {
+ std::stringstream in(hex);
+ return geos_Geometry_reader().readHEX(in);
+ }
++*/
+ };