[geos-commits] r2556 - in trunk: build/msvc90/geos_c_dll build/msvc90/geos_lib build/msvc90/geos_unit capi source/headers/geos source/headers/geos/algorithm source/headers/geos/geom source/headers/geos/geom/util source/headers/geos/geomgraph source/headers/geos/geomgraph/index source/headers/geos/index source/headers/geos/index/bintree source/headers/geos/index/chain source/headers/geos/index/quadtree source/headers/geos/index/strtree source/headers/geos/index/sweepline source/headers/geos/io source/headers/geos/noding source/headers/geos/noding/snapround source/headers/geos/operation source/headers/geos/operation/buffer source/headers/geos/operation/distance source/headers/geos/operation/linemerge source/headers/geos/operation/overlay source/headers/geos/operation/overlay/snap source/headers/geos/operation/polygonize source/headers/geos/operation/predicate source/headers/geos/operation/relate source/headers/geos/operation/valid source/headers/geos/planargraph source/headers/geos/planargraph/algorithm source/headers/geos/precision source/headers/geos/simplify source/headers/geos/util source/index/intervalrtree

svn_geos at osgeo.org svn_geos at osgeo.org
Sat Jun 6 18:22:29 EDT 2009


Author: strk
Date: 2009-06-06 18:22:28 -0400 (Sat, 06 Jun 2009)
New Revision: 2556

Added:
   trunk/source/headers/geos/export.h
Modified:
   trunk/build/msvc90/geos_c_dll/geos_c_dll.vcproj
   trunk/build/msvc90/geos_lib/geos_lib.vcproj
   trunk/build/msvc90/geos_unit/geos_unit.vcproj
   trunk/capi/geos_c.cpp
   trunk/capi/geos_c.h.in
   trunk/capi/geos_ts_c.cpp
   trunk/source/headers/geos/Makefile.am
   trunk/source/headers/geos/algorithm/CGAlgorithms.h
   trunk/source/headers/geos/algorithm/CentroidArea.h
   trunk/source/headers/geos/algorithm/CentroidLine.h
   trunk/source/headers/geos/algorithm/CentroidPoint.h
   trunk/source/headers/geos/algorithm/ConvexHull.h
   trunk/source/headers/geos/algorithm/HCoordinate.h
   trunk/source/headers/geos/algorithm/InteriorPointArea.h
   trunk/source/headers/geos/algorithm/InteriorPointLine.h
   trunk/source/headers/geos/algorithm/InteriorPointPoint.h
   trunk/source/headers/geos/algorithm/LineIntersector.h
   trunk/source/headers/geos/algorithm/MCPointInRing.h
   trunk/source/headers/geos/algorithm/MinimumDiameter.h
   trunk/source/headers/geos/algorithm/NotRepresentableException.h
   trunk/source/headers/geos/algorithm/PointInRing.h
   trunk/source/headers/geos/algorithm/PointLocator.h
   trunk/source/headers/geos/algorithm/RayCrossingCounter.h
   trunk/source/headers/geos/algorithm/RobustDeterminant.h
   trunk/source/headers/geos/algorithm/SIRtreePointInRing.h
   trunk/source/headers/geos/algorithm/SimplePointInRing.h
   trunk/source/headers/geos/geom/Coordinate.h
   trunk/source/headers/geos/geom/CoordinateArraySequence.h
   trunk/source/headers/geos/geom/CoordinateArraySequenceFactory.h
   trunk/source/headers/geos/geom/CoordinateFilter.h
   trunk/source/headers/geos/geom/CoordinateList.h
   trunk/source/headers/geos/geom/CoordinateSequence.h
   trunk/source/headers/geos/geom/CoordinateSequenceFactory.h
   trunk/source/headers/geos/geom/Dimension.h
   trunk/source/headers/geos/geom/Envelope.h
   trunk/source/headers/geos/geom/Geometry.h
   trunk/source/headers/geos/geom/GeometryCollection.h
   trunk/source/headers/geos/geom/GeometryComponentFilter.h
   trunk/source/headers/geos/geom/GeometryFactory.h
   trunk/source/headers/geos/geom/GeometryFilter.h
   trunk/source/headers/geos/geom/GeometryList.h
   trunk/source/headers/geos/geom/IntersectionMatrix.h
   trunk/source/headers/geos/geom/LineSegment.h
   trunk/source/headers/geos/geom/LineString.h
   trunk/source/headers/geos/geom/LinearRing.h
   trunk/source/headers/geos/geom/Location.h
   trunk/source/headers/geos/geom/MultiLineString.h
   trunk/source/headers/geos/geom/MultiPoint.h
   trunk/source/headers/geos/geom/MultiPolygon.h
   trunk/source/headers/geos/geom/Point.h
   trunk/source/headers/geos/geom/Polygon.h
   trunk/source/headers/geos/geom/PrecisionModel.h
   trunk/source/headers/geos/geom/Triangle.h
   trunk/source/headers/geos/geom/util/CoordinateOperation.h
   trunk/source/headers/geos/geom/util/GeometryEditor.h
   trunk/source/headers/geos/geom/util/GeometryEditorOperation.h
   trunk/source/headers/geos/geom/util/GeometryTransformer.h
   trunk/source/headers/geos/geom/util/LinearComponentExtracter.h
   trunk/source/headers/geos/geom/util/PointExtracter.h
   trunk/source/headers/geos/geom/util/PolygonExtracter.h
   trunk/source/headers/geos/geom/util/ShortCircuitedGeometryVisitor.h
   trunk/source/headers/geos/geomgraph/Depth.h
   trunk/source/headers/geos/geomgraph/DirectedEdge.h
   trunk/source/headers/geos/geomgraph/DirectedEdgeStar.h
   trunk/source/headers/geos/geomgraph/Edge.h
   trunk/source/headers/geos/geomgraph/EdgeEnd.h
   trunk/source/headers/geos/geomgraph/EdgeEndStar.h
   trunk/source/headers/geos/geomgraph/EdgeIntersection.h
   trunk/source/headers/geos/geomgraph/EdgeIntersectionList.h
   trunk/source/headers/geos/geomgraph/EdgeList.h
   trunk/source/headers/geos/geomgraph/EdgeNodingValidator.h
   trunk/source/headers/geos/geomgraph/EdgeRing.h
   trunk/source/headers/geos/geomgraph/GeometryGraph.h
   trunk/source/headers/geos/geomgraph/GraphComponent.h
   trunk/source/headers/geos/geomgraph/Label.h
   trunk/source/headers/geos/geomgraph/Node.h
   trunk/source/headers/geos/geomgraph/NodeFactory.h
   trunk/source/headers/geos/geomgraph/NodeMap.h
   trunk/source/headers/geos/geomgraph/PlanarGraph.h
   trunk/source/headers/geos/geomgraph/Position.h
   trunk/source/headers/geos/geomgraph/Quadrant.h
   trunk/source/headers/geos/geomgraph/TopologyLocation.h
   trunk/source/headers/geos/geomgraph/index/EdgeSetIntersector.h
   trunk/source/headers/geos/geomgraph/index/MonotoneChain.h
   trunk/source/headers/geos/geomgraph/index/MonotoneChainEdge.h
   trunk/source/headers/geos/geomgraph/index/MonotoneChainIndexer.h
   trunk/source/headers/geos/geomgraph/index/SegmentIntersector.h
   trunk/source/headers/geos/geomgraph/index/SimpleEdgeSetIntersector.h
   trunk/source/headers/geos/geomgraph/index/SimpleMCSweepLineIntersector.h
   trunk/source/headers/geos/geomgraph/index/SimpleSweepLineIntersector.h
   trunk/source/headers/geos/geomgraph/index/SweepLineEvent.h
   trunk/source/headers/geos/geomgraph/index/SweepLineEventObj.h
   trunk/source/headers/geos/geomgraph/index/SweepLineSegment.h
   trunk/source/headers/geos/index/ItemVisitor.h
   trunk/source/headers/geos/index/SpatialIndex.h
   trunk/source/headers/geos/index/bintree/Bintree.h
   trunk/source/headers/geos/index/bintree/Interval.h
   trunk/source/headers/geos/index/bintree/Key.h
   trunk/source/headers/geos/index/bintree/Node.h
   trunk/source/headers/geos/index/bintree/NodeBase.h
   trunk/source/headers/geos/index/bintree/Root.h
   trunk/source/headers/geos/index/chain/MonotoneChain.h
   trunk/source/headers/geos/index/chain/MonotoneChainBuilder.h
   trunk/source/headers/geos/index/chain/MonotoneChainOverlapAction.h
   trunk/source/headers/geos/index/chain/MonotoneChainSelectAction.h
   trunk/source/headers/geos/index/quadtree/DoubleBits.h
   trunk/source/headers/geos/index/quadtree/IntervalSize.h
   trunk/source/headers/geos/index/quadtree/Key.h
   trunk/source/headers/geos/index/quadtree/Node.h
   trunk/source/headers/geos/index/quadtree/NodeBase.h
   trunk/source/headers/geos/index/quadtree/Quadtree.h
   trunk/source/headers/geos/index/quadtree/Root.h
   trunk/source/headers/geos/index/strtree/AbstractNode.h
   trunk/source/headers/geos/index/strtree/AbstractSTRtree.h
   trunk/source/headers/geos/index/strtree/Boundable.h
   trunk/source/headers/geos/index/strtree/Interval.h
   trunk/source/headers/geos/index/strtree/ItemBoundable.h
   trunk/source/headers/geos/index/strtree/SIRtree.h
   trunk/source/headers/geos/index/strtree/STRtree.h
   trunk/source/headers/geos/index/sweepline/SweepLineEvent.h
   trunk/source/headers/geos/index/sweepline/SweepLineIndex.h
   trunk/source/headers/geos/index/sweepline/SweepLineInterval.h
   trunk/source/headers/geos/index/sweepline/SweepLineOverlapAction.h
   trunk/source/headers/geos/inline.h
   trunk/source/headers/geos/io/ByteOrderDataInStream.h
   trunk/source/headers/geos/io/ByteOrderValues.h
   trunk/source/headers/geos/io/CLocalizer.h
   trunk/source/headers/geos/io/ParseException.h
   trunk/source/headers/geos/io/StringTokenizer.h
   trunk/source/headers/geos/io/WKBReader.h
   trunk/source/headers/geos/io/WKBWriter.h
   trunk/source/headers/geos/io/WKTReader.h
   trunk/source/headers/geos/io/WKTWriter.h
   trunk/source/headers/geos/io/Writer.h
   trunk/source/headers/geos/noding/IntersectionAdder.h
   trunk/source/headers/geos/noding/IntersectionFinderAdder.h
   trunk/source/headers/geos/noding/IteratedNoder.h
   trunk/source/headers/geos/noding/MCIndexNoder.h
   trunk/source/headers/geos/noding/Noder.h
   trunk/source/headers/geos/noding/NodingValidator.h
   trunk/source/headers/geos/noding/Octant.h
   trunk/source/headers/geos/noding/OrientedCoordinateArray.h
   trunk/source/headers/geos/noding/ScaledNoder.h
   trunk/source/headers/geos/noding/SegmentIntersector.h
   trunk/source/headers/geos/noding/SegmentNode.h
   trunk/source/headers/geos/noding/SegmentNodeList.h
   trunk/source/headers/geos/noding/SegmentString.h
   trunk/source/headers/geos/noding/SimpleNoder.h
   trunk/source/headers/geos/noding/SinglePassNoder.h
   trunk/source/headers/geos/noding/snapround/HotPixel.h
   trunk/source/headers/geos/noding/snapround/MCIndexPointSnapper.h
   trunk/source/headers/geos/noding/snapround/MCIndexSnapRounder.h
   trunk/source/headers/geos/noding/snapround/SimpleSnapRounder.h
   trunk/source/headers/geos/operation/GeometryGraphOperation.h
   trunk/source/headers/geos/operation/IsSimpleOp.h
   trunk/source/headers/geos/operation/buffer/BufferBuilder.h
   trunk/source/headers/geos/operation/buffer/BufferOp.h
   trunk/source/headers/geos/operation/buffer/BufferSubgraph.h
   trunk/source/headers/geos/operation/buffer/OffsetCurveBuilder.h
   trunk/source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h
   trunk/source/headers/geos/operation/buffer/RightmostEdgeFinder.h
   trunk/source/headers/geos/operation/buffer/SubgraphDepthLocater.h
   trunk/source/headers/geos/operation/distance/ConnectedElementLocationFilter.h
   trunk/source/headers/geos/operation/distance/ConnectedElementPointFilter.h
   trunk/source/headers/geos/operation/distance/DistanceOp.h
   trunk/source/headers/geos/operation/distance/GeometryLocation.h
   trunk/source/headers/geos/operation/linemerge/EdgeString.h
   trunk/source/headers/geos/operation/linemerge/LineMergeDirectedEdge.h
   trunk/source/headers/geos/operation/linemerge/LineMergeEdge.h
   trunk/source/headers/geos/operation/linemerge/LineMergeGraph.h
   trunk/source/headers/geos/operation/linemerge/LineMerger.h
   trunk/source/headers/geos/operation/linemerge/LineSequencer.h
   trunk/source/headers/geos/operation/overlay/EdgeSetNoder.h
   trunk/source/headers/geos/operation/overlay/ElevationMatrix.h
   trunk/source/headers/geos/operation/overlay/ElevationMatrixCell.h
   trunk/source/headers/geos/operation/overlay/LineBuilder.h
   trunk/source/headers/geos/operation/overlay/MaximalEdgeRing.h
   trunk/source/headers/geos/operation/overlay/MinimalEdgeRing.h
   trunk/source/headers/geos/operation/overlay/OverlayNodeFactory.h
   trunk/source/headers/geos/operation/overlay/OverlayOp.h
   trunk/source/headers/geos/operation/overlay/PointBuilder.h
   trunk/source/headers/geos/operation/overlay/PolygonBuilder.h
   trunk/source/headers/geos/operation/overlay/snap/GeometrySnapper.h
   trunk/source/headers/geos/operation/overlay/snap/LineStringSnapper.h
   trunk/source/headers/geos/operation/overlay/snap/SnapOverlayOp.h
   trunk/source/headers/geos/operation/polygonize/EdgeRing.h
   trunk/source/headers/geos/operation/polygonize/PolygonizeDirectedEdge.h
   trunk/source/headers/geos/operation/polygonize/PolygonizeEdge.h
   trunk/source/headers/geos/operation/polygonize/PolygonizeGraph.h
   trunk/source/headers/geos/operation/polygonize/Polygonizer.h
   trunk/source/headers/geos/operation/predicate/RectangleContains.h
   trunk/source/headers/geos/operation/predicate/RectangleIntersects.h
   trunk/source/headers/geos/operation/predicate/SegmentIntersectionTester.h
   trunk/source/headers/geos/operation/relate/EdgeEndBuilder.h
   trunk/source/headers/geos/operation/relate/EdgeEndBundle.h
   trunk/source/headers/geos/operation/relate/EdgeEndBundleStar.h
   trunk/source/headers/geos/operation/relate/RelateComputer.h
   trunk/source/headers/geos/operation/relate/RelateNode.h
   trunk/source/headers/geos/operation/relate/RelateNodeFactory.h
   trunk/source/headers/geos/operation/relate/RelateNodeGraph.h
   trunk/source/headers/geos/operation/relate/RelateOp.h
   trunk/source/headers/geos/operation/valid/ConnectedInteriorTester.h
   trunk/source/headers/geos/operation/valid/ConsistentAreaTester.h
   trunk/source/headers/geos/operation/valid/IsValidOp.h
   trunk/source/headers/geos/operation/valid/QuadtreeNestedRingTester.h
   trunk/source/headers/geos/operation/valid/RepeatedPointTester.h
   trunk/source/headers/geos/operation/valid/SimpleNestedRingTester.h
   trunk/source/headers/geos/operation/valid/SweeplineNestedRingTester.h
   trunk/source/headers/geos/operation/valid/TopologyValidationError.h
   trunk/source/headers/geos/planargraph/DirectedEdge.h
   trunk/source/headers/geos/planargraph/DirectedEdgeStar.h
   trunk/source/headers/geos/planargraph/Edge.h
   trunk/source/headers/geos/planargraph/GraphComponent.h
   trunk/source/headers/geos/planargraph/Node.h
   trunk/source/headers/geos/planargraph/NodeMap.h
   trunk/source/headers/geos/planargraph/PlanarGraph.h
   trunk/source/headers/geos/planargraph/Subgraph.h
   trunk/source/headers/geos/planargraph/algorithm/ConnectedSubgraphFinder.h
   trunk/source/headers/geos/precision/CommonBits.h
   trunk/source/headers/geos/precision/CommonBitsOp.h
   trunk/source/headers/geos/precision/CommonBitsRemover.h
   trunk/source/headers/geos/precision/EnhancedPrecisionOp.h
   trunk/source/headers/geos/precision/SimpleGeometryPrecisionReducer.h
   trunk/source/headers/geos/profiler.h
   trunk/source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h
   trunk/source/headers/geos/simplify/DouglasPeuckerSimplifier.h
   trunk/source/headers/geos/simplify/LineSegmentIndex.h
   trunk/source/headers/geos/simplify/TaggedLineSegment.h
   trunk/source/headers/geos/simplify/TaggedLineString.h
   trunk/source/headers/geos/simplify/TaggedLineStringSimplifier.h
   trunk/source/headers/geos/simplify/TaggedLinesSimplifier.h
   trunk/source/headers/geos/simplify/TopologyPreservingSimplifier.h
   trunk/source/headers/geos/unload.h
   trunk/source/headers/geos/util/Assert.h
   trunk/source/headers/geos/util/AssertionFailedException.h
   trunk/source/headers/geos/util/CoordinateArrayFilter.h
   trunk/source/headers/geos/util/GEOSException.h
   trunk/source/headers/geos/util/GeometricShapeFactory.h
   trunk/source/headers/geos/util/IllegalArgumentException.h
   trunk/source/headers/geos/util/TopologyException.h
   trunk/source/headers/geos/util/UniqueCoordinateArrayFilter.h
   trunk/source/headers/geos/util/UnsupportedOperationException.h
   trunk/source/index/intervalrtree/SortedPackedIntervalRTree.cpp
Log:
Windows C++ exports by Ragi Y. Burhum. See http://lists.osgeo.org/pipermail/geos-devel/2009-June/004190.html


Modified: trunk/build/msvc90/geos_c_dll/geos_c_dll.vcproj
===================================================================
--- trunk/build/msvc90/geos_c_dll/geos_c_dll.vcproj	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/build/msvc90/geos_c_dll/geos_c_dll.vcproj	2009-06-06 22:22:28 UTC (rev 2556)
@@ -42,7 +42,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\..\..\capi;..\..\..\source\headers"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI;GEOS_DLL_LIBRARY"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
@@ -119,7 +119,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				AdditionalIncludeDirectories="..\..\..\capi;..\..\..\source\headers"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI;GEOS_DLL_LIBRARY"
 				RuntimeLibrary="2"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"

Modified: trunk/build/msvc90/geos_lib/geos_lib.vcproj
===================================================================
--- trunk/build/msvc90/geos_lib/geos_lib.vcproj	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/build/msvc90/geos_lib/geos_lib.vcproj	2009-06-06 22:22:28 UTC (rev 2556)
@@ -42,7 +42,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\..\..\capi;..\..\..\source\headers"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI;GEOS_DLL_LIBRARY_STATIC"
 				IgnoreStandardIncludePath="false"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
@@ -109,7 +109,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				AdditionalIncludeDirectories="..\..\..\source\headers"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI;GEOS_DLL_LIBRARY_STATIC"
 				RuntimeLibrary="2"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"

Modified: trunk/build/msvc90/geos_unit/geos_unit.vcproj
===================================================================
--- trunk/build/msvc90/geos_unit/geos_unit.vcproj	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/build/msvc90/geos_unit/geos_unit.vcproj	2009-06-06 22:22:28 UTC (rev 2556)
@@ -42,7 +42,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="0"
 				AdditionalIncludeDirectories=".\;..\..\..\tests\unit;..\..\..\tests\unit\tut;..\..\..\capi;..\..\..\source\headers"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI;GEOS_DLL_LIBRARY"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
@@ -121,7 +121,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				AdditionalIncludeDirectories=".\;..\..\..\tests\unit;..\..\..\tests\unit\tut;..\..\..\capi;..\..\..\source\headers"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;NOGDI;GEOS_DLL_LIBRARY"
 				RuntimeLibrary="2"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"

Modified: trunk/capi/geos_c.cpp
===================================================================
--- trunk/capi/geos_c.cpp	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/capi/geos_c.cpp	2009-06-06 22:22:28 UTC (rev 2556)
@@ -40,11 +40,15 @@
 ///
 #undef VERBOSE_EXCEPTIONS
 
+#include <geos/export.h>
+
+/*
 #if defined(_MSC_VER)
 #  define GEOS_DLL     __declspec(dllexport)
 #else
 #  define GEOS_DLL
 #endif
+*/
 
 // import the most frequently used definitions globally
 using geos::geom::Geometry;

Modified: trunk/capi/geos_c.h.in
===================================================================
--- trunk/capi/geos_c.h.in	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/capi/geos_c.h.in	2009-06-06 22:22:28 UTC (rev 2556)
@@ -138,11 +138,7 @@
  *
  ***********************************************************************/
 
-#if defined(_MSC_VER)
-#  define GEOS_DLL     __declspec(dllexport)
-#else
-#  define GEOS_DLL
-#endif
+#include <geos/export.h>
 
 extern void GEOS_DLL initGEOS(GEOSMessageHandler notice_function,
 	GEOSMessageHandler error_function);

Modified: trunk/capi/geos_ts_c.cpp
===================================================================
--- trunk/capi/geos_ts_c.cpp	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/capi/geos_ts_c.cpp	2009-06-06 22:22:28 UTC (rev 2556)
@@ -76,12 +76,9 @@
 ///
 #undef VERBOSE_EXCEPTIONS
 
-#if defined(_MSC_VER)
-#  define GEOS_DLL     __declspec(dllexport)
-#else
-#  define GEOS_DLL
-#endif
+#include <geos/export.h>
 
+
 // import the most frequently used definitions globally
 using geos::geom::Geometry;
 using geos::geom::LineString;

Modified: trunk/source/headers/geos/Makefile.am
===================================================================
--- trunk/source/headers/geos/Makefile.am	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/Makefile.am	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 geosdir = $(includedir)/geos
 
 geos_HEADERS = 			\
+	export.h 		\
 	geom.h 			\
 	geomUtil.h 		\
 	geomgraph.h 		\

Modified: trunk/source/headers/geos/algorithm/CGAlgorithms.h
===================================================================
--- trunk/source/headers/geos/algorithm/CGAlgorithms.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/CGAlgorithms.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_ALGORITHM_CGALGORITHM_H
 #define GEOS_ALGORITHM_CGALGORITHM_H
 
+#include <geos/export.h>
 #include <vector>
 
 // Forward declarations
@@ -43,7 +44,7 @@
  * floating point.
  *
  */
-class CGAlgorithms {
+class GEOS_DLL CGAlgorithms {
 
 public:
 

Modified: trunk/source/headers/geos/algorithm/CentroidArea.h
===================================================================
--- trunk/source/headers/geos/algorithm/CentroidArea.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/CentroidArea.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -18,6 +18,7 @@
 #define GEOS_ALGORITHM_CENTROIDAREA_H
 
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>
 
 // Forward declarations
@@ -46,7 +47,7 @@
  * See <code>http://www.faqs.org/faqs/graphics/algorithms-faq/</code>
  * for further details of the basic approach.
  */
-class CentroidArea {
+class GEOS_DLL CentroidArea {
 
 public:
 

Modified: trunk/source/headers/geos/algorithm/CentroidLine.h
===================================================================
--- trunk/source/headers/geos/algorithm/CentroidLine.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/CentroidLine.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -18,6 +18,7 @@
 #define GEOS_ALGORITHM_CENTROIDLINE_H
 
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>
 
 // Forward declarations
@@ -31,7 +32,7 @@
 namespace geos {
 namespace algorithm { // geos::algorithm
 
-class CentroidLine {
+class GEOS_DLL CentroidLine {
 private:
 
 	geom::Coordinate centSum;

Modified: trunk/source/headers/geos/algorithm/CentroidPoint.h
===================================================================
--- trunk/source/headers/geos/algorithm/CentroidPoint.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/CentroidPoint.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_CENTROIDPOINT_H
 #define GEOS_ALGORITHM_CENTROIDPOINT_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>
 
 // Forward declarations
@@ -30,7 +31,7 @@
 namespace geos {
 namespace algorithm { // geos::algorithm
 
-class CentroidPoint {
+class GEOS_DLL CentroidPoint {
 
 private:
 

Modified: trunk/source/headers/geos/algorithm/ConvexHull.h
===================================================================
--- trunk/source/headers/geos/algorithm/ConvexHull.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/ConvexHull.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_CONVEXHULL_H
 #define GEOS_ALGORITHM_CONVEXHULL_H
 
+#include <geos/export.h>
 #include <vector>
 
 // FIXME: avoid using Cordinate:: typedefs to avoid full include
@@ -45,7 +46,7 @@
  * Last port: algorithm/ConvexHull.java rev. 1.26 (JTS-1.7)
  *
  */
-class ConvexHull {
+class GEOS_DLL ConvexHull {
 private:
 	const geom::GeometryFactory *geomFactory;
 	geom::Coordinate::ConstVect inputPts;

Modified: trunk/source/headers/geos/algorithm/HCoordinate.h
===================================================================
--- trunk/source/headers/geos/algorithm/HCoordinate.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/HCoordinate.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_ALGORITHM_HCOORDINATE_H
 #define GEOS_ALGORITHM_HCOORDINATE_H
 
+#include <geos/export.h>
 #include <iosfwd>
 
 // Forward declarations
@@ -40,7 +41,7 @@
  * HCoordinate are used as a clean way
  * of computing intersections between line segments.
  */
-class HCoordinate {
+class GEOS_DLL HCoordinate {
 
 public:
 

Modified: trunk/source/headers/geos/algorithm/InteriorPointArea.h
===================================================================
--- trunk/source/headers/geos/algorithm/InteriorPointArea.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/InteriorPointArea.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_INTERIORPOINTAREA_H
 #define GEOS_ALGORITHM_INTERIORPOINTAREA_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>
 
 // Forward declarations
@@ -50,7 +51,7 @@
  * which does not lie in the interior.
  * </b>
  */
-class InteriorPointArea {
+class GEOS_DLL InteriorPointArea {
 
 private:
 

Modified: trunk/source/headers/geos/algorithm/InteriorPointLine.h
===================================================================
--- trunk/source/headers/geos/algorithm/InteriorPointLine.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/InteriorPointLine.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_INTERIORPOINTLINE_H
 #define GEOS_ALGORITHM_INTERIORPOINTLINE_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>
 
 // Forward declarations
@@ -42,7 +43,7 @@
  * closest to the centroid.
  * </ul>
  */
-class InteriorPointLine {
+class GEOS_DLL InteriorPointLine {
 public:
 
 	InteriorPointLine(const geom::Geometry *g);

Modified: trunk/source/headers/geos/algorithm/InteriorPointPoint.h
===================================================================
--- trunk/source/headers/geos/algorithm/InteriorPointPoint.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/InteriorPointPoint.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_INTERIORPOINTPOINT_H
 #define GEOS_ALGORITHM_INTERIORPOINTPOINT_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>
 
 // Forward declarations
@@ -38,7 +39,7 @@
  *
  * Find a point which is closest to the centroid of the geometry.
  */
-class InteriorPointPoint {
+class GEOS_DLL InteriorPointPoint {
 private:
 
 	bool hasInterior;

Modified: trunk/source/headers/geos/algorithm/LineIntersector.h
===================================================================
--- trunk/source/headers/geos/algorithm/LineIntersector.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/LineIntersector.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_ALGORITHM_LINEINTERSECTOR_H
 #define GEOS_ALGORITHM_LINEINTERSECTOR_H
 
+#include <geos/export.h>
 #include <string>
 
 #include <geos/geom/Coordinate.h>
@@ -46,7 +47,7 @@
  * an integer grid.)
  *
  */
-class LineIntersector {
+class GEOS_DLL LineIntersector {
 public:	
 
 	/// \brief

Modified: trunk/source/headers/geos/algorithm/MCPointInRing.h
===================================================================
--- trunk/source/headers/geos/algorithm/MCPointInRing.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/MCPointInRing.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_MCPOINTINRING_H
 #define GEOS_ALGORITHM_MCPOINTINRING_H
 
+#include <geos/export.h>
 #include <geos/index/chain/MonotoneChainSelectAction.h> // for inheritance
 #include <geos/algorithm/PointInRing.h> // for inheritance
 #include <geos/geom/Coordinate.h> // for composition
@@ -47,7 +48,7 @@
 namespace geos {
 namespace algorithm { // geos::algorithm
 
-class MCPointInRing: public PointInRing {
+class GEOS_DLL MCPointInRing: public PointInRing {
 public:
 	MCPointInRing(const geom::LinearRing *newRing);
 	~MCPointInRing();

Modified: trunk/source/headers/geos/algorithm/MinimumDiameter.h
===================================================================
--- trunk/source/headers/geos/algorithm/MinimumDiameter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/MinimumDiameter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_MINIMUMDIAMETER_H
 #define GEOS_ALGORITHM_MINIMUMDIAMETER_H
 
+#include <geos/export.h>
 
 // Forward declarations
 namespace geos {
@@ -51,7 +52,7 @@
  * @see ConvexHull
  *
  */
-class MinimumDiameter {
+class GEOS_DLL MinimumDiameter {
 private:
 	const geom::Geometry* inputGeom;
 	bool isConvex;

Modified: trunk/source/headers/geos/algorithm/NotRepresentableException.h
===================================================================
--- trunk/source/headers/geos/algorithm/NotRepresentableException.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/NotRepresentableException.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_NOTREPRESENTABLEEXCEPTION_H
 #define GEOS_ALGORITHM_NOTREPRESENTABLEEXCEPTION_H
 
+#include <geos/export.h>
 #include <string>
 #include <geos/util/GEOSException.h>
 
@@ -32,7 +33,7 @@
  * @version 1.4
  * @see HCoordinate
  */
-class NotRepresentableException: public util::GEOSException {
+class GEOS_DLL NotRepresentableException: public util::GEOSException {
 public:
 	NotRepresentableException();
 	NotRepresentableException(std::string msg);

Modified: trunk/source/headers/geos/algorithm/PointInRing.h
===================================================================
--- trunk/source/headers/geos/algorithm/PointInRing.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/PointInRing.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_POINTINRING_H
 #define GEOS_ALGORITHM_POINTINRING_H
 
+#include <geos/export.h>
 
 // Forward declarations
 namespace geos {
@@ -28,7 +29,7 @@
 namespace geos {
 namespace algorithm { // geos::algorithm
 
-class PointInRing{
+class GEOS_DLL PointInRing{
 public:
 	virtual ~PointInRing(){};
 	virtual bool isInside(const geom::Coordinate& pt)=0;

Modified: trunk/source/headers/geos/algorithm/PointLocator.h
===================================================================
--- trunk/source/headers/geos/algorithm/PointLocator.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/PointLocator.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_POINTLOCATOR_H
 #define GEOS_ALGORITHM_POINTLOCATOR_H
 
+#include <geos/export.h>
 #include <geos/geom/Location.h> // for inlines
 
 // Forward declarations
@@ -50,7 +51,7 @@
  *
  * Last port: algorithm/PointLocator.java rev. 1.26 (JTS-1.7+)
  */
-class PointLocator {
+class GEOS_DLL PointLocator {
 public:
 	PointLocator() {}
 	~PointLocator() {}

Modified: trunk/source/headers/geos/algorithm/RayCrossingCounter.h
===================================================================
--- trunk/source/headers/geos/algorithm/RayCrossingCounter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/RayCrossingCounter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,8 @@
 #ifndef GEOS_ALGORITHM_RAYCROSSINGCOUNTER_H
 #define GEOS_ALGORITHM_RAYCROSSINGCOUNTER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // forward declarations
@@ -62,7 +64,7 @@
  * @author Martin Davis
  *
  */
-class RayCrossingCounter 
+class GEOS_DLL RayCrossingCounter 
 {
 private:
 	const geom::Coordinate& point;

Modified: trunk/source/headers/geos/algorithm/RobustDeterminant.h
===================================================================
--- trunk/source/headers/geos/algorithm/RobustDeterminant.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/RobustDeterminant.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,11 +17,12 @@
 #ifndef GEOS_ALGORITHM_ROBUSTDETERMINANT_H
 #define GEOS_ALGORITHM_ROBUSTDETERMINANT_H
 
+#include <geos/export.h>
 
 namespace geos {
 namespace algorithm { // geos::algorithm
 
-class RobustDeterminant {
+class GEOS_DLL RobustDeterminant {
 public:
 	static int signOfDet2x2(double x1,double y1,double x2,double y2);
 };

Modified: trunk/source/headers/geos/algorithm/SIRtreePointInRing.h
===================================================================
--- trunk/source/headers/geos/algorithm/SIRtreePointInRing.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/SIRtreePointInRing.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_SIRTREEPOINTINRING_H
 #define GEOS_ALGORITHM_SIRTREEPOINTINRING_H
 
+#include <geos/export.h>
 #include <geos/algorithm/PointInRing.h> // for inheritance
 
 #include <vector>
@@ -39,7 +40,7 @@
 namespace geos {
 namespace algorithm { // geos::algorithm
 
-class SIRtreePointInRing: public PointInRing {
+class GEOS_DLL SIRtreePointInRing: public PointInRing {
 private:
 	geom::LinearRing *ring;
 	index::strtree::SIRtree *sirTree;

Modified: trunk/source/headers/geos/algorithm/SimplePointInRing.h
===================================================================
--- trunk/source/headers/geos/algorithm/SimplePointInRing.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/algorithm/SimplePointInRing.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_ALGORITHM_SIMPLEPOINTINRING_H
 #define GEOS_ALGORITHM_SIMPLEPOINTINRING_H
 
+#include <geos/export.h>
 #include <geos/algorithm/PointInRing.h> // for inheritance
 
 // Forward declarations
@@ -31,7 +32,7 @@
 namespace geos {
 namespace algorithm { // geos::algorithm
 
-class SimplePointInRing: public PointInRing {
+class GEOS_DLL SimplePointInRing: public PointInRing {
 public:
 	SimplePointInRing(geom::LinearRing *ring);
 	virtual ~SimplePointInRing();

Added: trunk/source/headers/geos/export.h
===================================================================
--- trunk/source/headers/geos/export.h	                        (rev 0)
+++ trunk/source/headers/geos/export.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -0,0 +1,34 @@
+/**********************************************************************
+ * $Id: export.h 2045 2008-03-17 20:18:24Z Ragi Burhum $
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.refractions.net
+ *
+ * Copyright (C) 2009   Ragi Y. Burhum <ragi at burhum.com>
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation. 
+ * See the COPYING file for more information.
+ *
+ **********************************************************************/
+
+#ifndef GEOS_EXPORT_H
+#define GEOS_EXPORT_H
+
+#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__)  || defined( __MWERKS__)
+    #  if defined( GEOS_DLL_LIBRARY_STATIC )
+    #    define GEOS_DLL
+    #  elif defined( GEOS_DLL_LIBRARY )
+    #    define GEOS_DLL   __declspec(dllexport)
+    #  else
+    #    define GEOS_DLL   __declspec(dllimport)
+    #  endif 
+#else
+    #  define GEOS_DLL
+#endif  
+
+
+#endif // ndef GEOS_EXPORT_H
+
+

Modified: trunk/source/headers/geos/geom/Coordinate.h
===================================================================
--- trunk/source/headers/geos/geom/Coordinate.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/Coordinate.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,9 +16,9 @@
 #ifndef GEOS_GEOM_COORDINATE_H
 #define GEOS_GEOM_COORDINATE_H
 
+#include <geos/export.h>
 #include <geos/platform.h> // for DoubleNotANumber
 #include <geos/inline.h>
-
 #include <set>
 #include <stack>
 #include <vector> // for typedefs
@@ -53,7 +53,7 @@
 // Define the following to make assignments and copy constructions 
 // NON-inline (will let profilers report usages)
 //#define PROFILE_COORDINATE_COPIES 1
-class Coordinate {
+class GEOS_DLL Coordinate {
 
 private:
 
@@ -129,7 +129,7 @@
 };
 
 /// Strict weak ordering Functor for Coordinate
-struct CoordinateLessThen {
+struct GEOS_DLL CoordinateLessThen {
 
 	bool operator()(const Coordinate* a, const Coordinate* b) const;
 	bool operator()(const Coordinate& a, const Coordinate& b) const;
@@ -137,13 +137,13 @@
 };
 
 /// Output function
-std::ostream& operator<< (std::ostream& os, const Coordinate& c);
+GEOS_DLL std::ostream& operator<< (std::ostream& os, const Coordinate& c);
 
 /// Equality operator for Coordinate. 2D only.
-bool operator==(const Coordinate& a, const Coordinate& b);
+GEOS_DLL bool operator==(const Coordinate& a, const Coordinate& b);
 
 /// Inequality operator for Coordinate. 2D only.
-bool operator!=(const Coordinate& a, const Coordinate& b);
+GEOS_DLL bool operator!=(const Coordinate& a, const Coordinate& b);
 
 
 

Modified: trunk/source/headers/geos/geom/CoordinateArraySequence.h
===================================================================
--- trunk/source/headers/geos/geom/CoordinateArraySequence.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/CoordinateArraySequence.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_GEOM_COORDINATEARRAYSEQUENCE_H
 #define GEOS_GEOM_COORDINATEARRAYSEQUENCE_H
 
+#include <geos/export.h>
 #include <vector>
 
 //#include <geos/platform.h>
@@ -35,7 +36,7 @@
 namespace geom { // geos.geom
 
 /// The default implementation of CoordinateSequence
-class CoordinateArraySequence : public CoordinateSequence {
+class GEOS_DLL CoordinateArraySequence : public CoordinateSequence {
 public:
 
 	CoordinateArraySequence(const CoordinateArraySequence &cl);

Modified: trunk/source/headers/geos/geom/CoordinateArraySequenceFactory.h
===================================================================
--- trunk/source/headers/geos/geom/CoordinateArraySequenceFactory.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/CoordinateArraySequenceFactory.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_GEOM_COORDINATEARRAYSEQUENCEFACTORY_H
 #define GEOS_GEOM_COORDINATEARRAYSEQUENCEFACTORY_H
 
+
+#include <geos/export.h>
 #include <vector>
 
 #include <geos/geom/CoordinateSequenceFactory.h> // for inheritance
@@ -39,7 +41,7 @@
  * Creates CoordinateSequences internally represented as an array of
  * Coordinates.
  */
-class CoordinateArraySequenceFactory: public CoordinateSequenceFactory {
+class GEOS_DLL CoordinateArraySequenceFactory: public CoordinateSequenceFactory {
 
 public:
 

Modified: trunk/source/headers/geos/geom/CoordinateFilter.h
===================================================================
--- trunk/source/headers/geos/geom/CoordinateFilter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/CoordinateFilter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_GEOM_COORDINATEFILTER_H
 #define GEOS_GEOM_COORDINATEFILTER_H
 
+#include <geos/export.h>
 #include <geos/inline.h>
 
 #include <cassert>
@@ -40,7 +41,7 @@
  * of having the two versions of filter_rw and filter_ro
  *
  */
-class CoordinateFilter {
+class GEOS_DLL CoordinateFilter {
 public:
    virtual ~CoordinateFilter() {}
 

Modified: trunk/source/headers/geos/geom/CoordinateList.h
===================================================================
--- trunk/source/headers/geos/geom/CoordinateList.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/CoordinateList.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_GEOM_COORDINATELIST_H
 #define GEOS_GEOM_COORDINATELIST_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h> 
 
 #include <list>
@@ -41,7 +42,7 @@
  * The class keeps ownership of the Coordinates.
  *
  */
-class CoordinateList {
+class GEOS_DLL CoordinateList {
 
 public:
 

Modified: trunk/source/headers/geos/geom/CoordinateSequence.h
===================================================================
--- trunk/source/headers/geos/geom/CoordinateSequence.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/CoordinateSequence.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_GEOM_COORDINATESEQUENCE_H
 #define GEOS_GEOM_COORDINATESEQUENCE_H
 
+#include <geos/export.h>
 #include <geos/platform.h>
 #include <geos/inline.h>
 
@@ -57,7 +58,7 @@
  * will use your CoordinateSequence implementation.
  * 
  */
-class CoordinateSequence {
+class GEOS_DLL CoordinateSequence {
 
 protected:
 

Modified: trunk/source/headers/geos/geom/CoordinateSequenceFactory.h
===================================================================
--- trunk/source/headers/geos/geom/CoordinateSequenceFactory.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/CoordinateSequenceFactory.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #define GEOS_GEOM_COORDINATESEQUENCEFACTORY_H
 
 
+#include <geos/export.h>
 #include <vector>
 
 //#include <geos/geom/Coordinate.h>
@@ -44,7 +45,7 @@
  * Used to configure {@link GeometryFactory}s
  * to provide specific kinds of CoordinateSequences.
  */
-class CoordinateSequenceFactory {
+class GEOS_DLL CoordinateSequenceFactory {
 public:
 
 	/** \brief

Modified: trunk/source/headers/geos/geom/Dimension.h
===================================================================
--- trunk/source/headers/geos/geom/Dimension.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/Dimension.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_GEOM_DIMENSION_H
 #define GEOS_GEOM_DIMENSION_H
 
+#include <geos/export.h>
 #include <geos/inline.h>
 
 namespace geos {
@@ -26,7 +27,7 @@
 /// Also, constants representing the dimensions of the empty geometry and
 /// non-empty geometries, and a wildcard dimension meaning "any dimension".
 ///
-class Dimension {
+class GEOS_DLL Dimension {
 public:
 	enum DimensionType {
 		/// Dimension value for any dimension (= {FALSE, TRUE}).

Modified: trunk/source/headers/geos/geom/Envelope.h
===================================================================
--- trunk/source/headers/geos/geom/Envelope.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/Envelope.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_GEOM_ENVELOPE_H
 #define GEOS_GEOM_ENVELOPE_H
 
+
+#include <geos/export.h>
 #include <geos/inline.h>
 #include <geos/geom/Coordinate.h>
 
@@ -49,7 +51,7 @@
  * the supplies extent values are automatically sorted into the correct order.
  *
  */
-class Envelope {
+class GEOS_DLL Envelope {
 
 public:
 

Modified: trunk/source/headers/geos/geom/Geometry.h
===================================================================
--- trunk/source/headers/geos/geom/Geometry.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/Geometry.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,7 @@
 #ifndef GEOS_GEOM_GEOMETRY_H
 #define GEOS_GEOM_GEOMETRY_H
 
+#include <geos/export.h>
 #include <geos/platform.h>
 #include <geos/inline.h>
 #include <geos/geom/Envelope.h>
@@ -159,7 +160,7 @@
  *  remain distinct. This behaviour is desired in many cases.
  *
  */
-class Geometry {
+class GEOS_DLL Geometry {
 
 public:
 
@@ -828,7 +829,7 @@
 ///
 std::ostream& operator<< (std::ostream& os, const Geometry& geom);
 
-struct GeometryGreaterThen {
+struct GEOS_DLL GeometryGreaterThen {
 	bool operator()(const Geometry *first, const Geometry *second);
 };
 

Modified: trunk/source/headers/geos/geom/GeometryCollection.h
===================================================================
--- trunk/source/headers/geos/geom/GeometryCollection.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/GeometryCollection.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOS_GEOMETRYCOLLECTION_H
 #define GEOS_GEOS_GEOMETRYCOLLECTION_H
 
+#include <geos/export.h>
 #include <geos/geom/Geometry.h> // for inheritance
 //#include <geos/platform.h>
 #include <geos/geom/Envelope.h> // for proper use of auto_ptr<>
@@ -53,7 +54,7 @@
  * represented by GeometryCollection subclasses MultiPoint,
  * MultiLineString, MultiPolygon.
  */
-class GeometryCollection : public Geometry {
+class GEOS_DLL GeometryCollection : public Geometry {
 
 public:
 	friend class GeometryFactory;

Modified: trunk/source/headers/geos/geom/GeometryComponentFilter.h
===================================================================
--- trunk/source/headers/geos/geom/GeometryComponentFilter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/GeometryComponentFilter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_GEOM_GEOMETRYCOMPONENTFILTER_H
 #define GEOS_GEOM_GEOMETRYCOMPONENTFILTER_H
 
+#include <geos/export.h>
 #include <geos/inline.h>
 
 namespace geos {
@@ -40,7 +41,7 @@
  *  is an example of the Gang-of-Four Visitor pattern.
  *
  */
-class GeometryComponentFilter {
+class GEOS_DLL GeometryComponentFilter {
 public:
 
 	/**

Modified: trunk/source/headers/geos/geom/GeometryFactory.h
===================================================================
--- trunk/source/headers/geos/geom/GeometryFactory.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/GeometryFactory.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,7 @@
 
 //#include <geos/geom/CoordinateSequence.h>
 //#include <geos/geom/Geometry.h>
+#include <geos/export.h>
 #include <geos/inline.h>
 
 #include <vector>
@@ -59,7 +60,7 @@
  * In particular, they are not rounded to the supplied <tt>PrecisionModel</tt>.
  * It is assumed that input Coordinates meet the given precision.
  */
-class GeometryFactory {
+class GEOS_DLL GeometryFactory {
 public:
 	/**
 	 * \brief 

Modified: trunk/source/headers/geos/geom/GeometryFilter.h
===================================================================
--- trunk/source/headers/geos/geom/GeometryFilter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/GeometryFilter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -18,7 +18,7 @@
 #define GEOS_GEOM_GEOMETRYFILTER_H
 
 //#include <geos/platform.h>
-
+#include <geos/export.h>
 #include <geos/inline.h>
 
 #include <string>
@@ -46,7 +46,7 @@
  * Geometry filters implement the interface GeometryFilter.
  * (GeometryFilter is an example of the Gang-of-Four Visitor pattern).
  */
-class GeometryFilter {
+class GEOS_DLL GeometryFilter {
 public:
 	/*
 	 * Performs an operation with or on <code>geom</code>.

Modified: trunk/source/headers/geos/geom/GeometryList.h
===================================================================
--- trunk/source/headers/geos/geom/GeometryList.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/GeometryList.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_GEOM_GEOMETRYLIST_H
 #define GEOS_GEOM_GEOMETRYLIST_H
 
+#include <geos/export.h>
 #include <geos/geom/Geometry.h> // for auto_ptr
 
 #include <memory> // for auto_ptr
@@ -32,7 +33,7 @@
 /** \brief
  * Manager of Geometry pointers. Owns the Geometries.
  */
-class GeometryList {
+class GEOS_DLL GeometryList {
 
 public:
 

Modified: trunk/source/headers/geos/geom/IntersectionMatrix.h
===================================================================
--- trunk/source/headers/geos/geom/IntersectionMatrix.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/IntersectionMatrix.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_GEOM_INTERSECTIONMATRIX_H
 #define GEOS_GEOM_INTERSECTIONMATRIX_H
 
+#include <geos/export.h>
 #include <string>
 
 #include <geos/inline.h>
@@ -48,7 +49,7 @@
  * 
  * \todo Suggestion: add equal and not-equal operator to this class.
  */
-class IntersectionMatrix {
+class GEOS_DLL IntersectionMatrix {
 
 public:
 

Modified: trunk/source/headers/geos/geom/LineSegment.h
===================================================================
--- trunk/source/headers/geos/geom/LineSegment.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/LineSegment.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOM_LINESEGMENT_H
 #define GEOS_GEOM_LINESEGMENT_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h> // for composition
 
 #include <geos/inline.h>
@@ -53,7 +54,7 @@
  *
  * TODO: have this class keep pointers rather then real Coordinates ?
  */
-class LineSegment {
+class GEOS_DLL LineSegment {
 public:
 
 	friend std::ostream& operator<< (std::ostream& o, const LineSegment& l);

Modified: trunk/source/headers/geos/geom/LineString.h
===================================================================
--- trunk/source/headers/geos/geom/LineString.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/LineString.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOS_LINESTRING_H
 #define GEOS_GEOS_LINESTRING_H
 
+#include <geos/export.h>
 #include <geos/platform.h> // do we need this ?
 #include <geos/geom/Geometry.h> // for inheritance
 #include <geos/geom/CoordinateSequence.h> // for proper use of auto_ptr<>
@@ -48,7 +49,7 @@
  * \class LineString geom.h geos.h
  * \brief Basic implementation of LineString.
  */
-class LineString: public Geometry {
+class GEOS_DLL LineString: public Geometry {
 
 public:
 
@@ -185,7 +186,7 @@
 
 };
 
-struct LineStringLT {
+struct GEOS_DLL  LineStringLT {
 	bool operator()(const LineString *ls1, const LineString *ls2) const {
 		return ls1->compareTo(ls2)<0;
 	}

Modified: trunk/source/headers/geos/geom/LinearRing.h
===================================================================
--- trunk/source/headers/geos/geom/LinearRing.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/LinearRing.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOS_LINEARRING_H
 #define GEOS_GEOS_LINEARRING_H
 
+#include <geos/export.h>
 #include <string>
 #include <vector>
 #include <geos/platform.h>
@@ -54,7 +55,7 @@
  * If these conditions are not met, the constructors throw
  * an {@link IllegalArgumentException}
  */
-class LinearRing : public LineString {
+class GEOS_DLL LinearRing : public LineString {
 
 public:
 

Modified: trunk/source/headers/geos/geom/Location.h
===================================================================
--- trunk/source/headers/geos/geom/Location.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/Location.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_GEOM_LOCATION_H
 #define GEOS_GEOM_LOCATION_H
 
+#include <geos/export.h>
 #include <iostream> // for ostream
 
 #include <geos/inline.h>
@@ -32,7 +33,7 @@
  *  HREF="http://www.opengis.org/techno/specs.htm">OpenGIS Simple Features
  *  Specification for SQL</A> .
  */
-class Location {
+class GEOS_DLL Location {
 public:
 	enum Value {
 

Modified: trunk/source/headers/geos/geom/MultiLineString.h
===================================================================
--- trunk/source/headers/geos/geom/MultiLineString.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/MultiLineString.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOS_MULTILINESTRING_H
 #define GEOS_GEOS_MULTILINESTRING_H
 
+#include <geos/export.h>
 #include <geos/geom/GeometryCollection.h> // for inheritance
 //#include <geos/platform.h> 
 #include <geos/geom/Dimension.h>
@@ -42,7 +43,7 @@
 namespace geom { // geos::geom
 
 /// Basic implementation of MultiLineString objects.
-class MultiLineString: public GeometryCollection {
+class GEOS_DLL MultiLineString: public GeometryCollection {
 
 public:
 

Modified: trunk/source/headers/geos/geom/MultiPoint.h
===================================================================
--- trunk/source/headers/geos/geom/MultiPoint.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/MultiPoint.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOS_MULTIPOINT_H
 #define GEOS_GEOS_MULTIPOINT_H
 
+#include <geos/export.h>
 #include <geos/platform.h>
 #include <geos/geom/GeometryCollection.h>
 #include <geos/geom/Dimension.h> // for Dimension::DimensionType
@@ -44,7 +45,7 @@
  * \class MultiPoint geom.h geos.h
  * \brief  Models a collection of Point objects.
  */
-class MultiPoint: public GeometryCollection {
+class GEOS_DLL MultiPoint: public GeometryCollection {
 
 public:
 

Modified: trunk/source/headers/geos/geom/MultiPolygon.h
===================================================================
--- trunk/source/headers/geos/geom/MultiPolygon.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/MultiPolygon.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOS_MULTIPOLYGON_H
 #define GEOS_GEOS_MULTIPOLYGON_H
 
+#include <geos/export.h>
 #include <string>
 #include <vector>
 #include <geos/platform.h>
@@ -43,7 +44,7 @@
 namespace geom { // geos::geom
 
 /// Basic implementation of <code>MultiPolygon</code>.
-class MultiPolygon: public GeometryCollection
+class GEOS_DLL MultiPolygon: public GeometryCollection
 {
 
 public:

Modified: trunk/source/headers/geos/geom/Point.h
===================================================================
--- trunk/source/headers/geos/geom/Point.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/Point.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOS_POINT_H
 #define GEOS_GEOS_POINT_H
 
+#include <geos/export.h>
 #include <geos/platform.h>
 #include <geos/geom/Geometry.h>
 #include <geos/geom/CoordinateSequence.h> // for proper use of auto_ptr<>
@@ -52,7 +53,8 @@
  * \class Point geom.h geos.h
  * \brief Basic implementation of Point.
  */
-class Point : public Geometry
+class GEOS_DLL Point : public Geometry 
+
 	// NOTE: in JTS Point implements Puntual
 {
 

Modified: trunk/source/headers/geos/geom/Polygon.h
===================================================================
--- trunk/source/headers/geos/geom/Polygon.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/Polygon.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOM_POLYGON_H
 #define GEOS_GEOM_POLYGON_H
 
+#include <geos/export.h>
 #include <string>
 #include <vector>
 #include <geos/platform.h>
@@ -61,7 +62,7 @@
  *  Specification for SQL</A> .
  *
  */
-class Polygon: public Geometry{
+class GEOS_DLL Polygon: public Geometry{
 
 public:
 

Modified: trunk/source/headers/geos/geom/PrecisionModel.h
===================================================================
--- trunk/source/headers/geos/geom/PrecisionModel.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/PrecisionModel.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,8 +20,10 @@
 #ifndef GEOS_GEOM_PRECISIONMODEL_H
 #define GEOS_GEOM_PRECISIONMODEL_H
 
+#include <geos/export.h>
 #include <geos/inline.h>
 
+
 #include <string>
 
 // Forward declarations
@@ -78,7 +80,7 @@
  *
  * JTS methods currently do not handle inputs with different precision models.
  */
-class PrecisionModel {
+class GEOS_DLL PrecisionModel {
 friend class io::Unload;
 
 public:

Modified: trunk/source/headers/geos/geom/Triangle.h
===================================================================
--- trunk/source/headers/geos/geom/Triangle.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/Triangle.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_GEOM_TRIANGLE_H
 #define GEOS_GEOM_TRIANGLE_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h> 
 
 #include <geos/inline.h>
@@ -28,7 +29,7 @@
  * Represents a planar triangle, and provides methods for calculating various
  * properties of triangles.
  */
-class Triangle {
+class GEOS_DLL Triangle {
 public:
 	Coordinate p0, p1, p2;
 

Modified: trunk/source/headers/geos/geom/util/CoordinateOperation.h
===================================================================
--- trunk/source/headers/geos/geom/util/CoordinateOperation.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/util/CoordinateOperation.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_GEOM_UTIL_COORDINATEOPERATION_H
 #define GEOS_GEOM_UTIL_COORDINATEOPERATION_H
 
+#include <geos/export.h>
 #include <geos/geom/util/GeometryEditorOperation.h> // for inheritance
 
 // Forward declarations
@@ -38,7 +39,7 @@
  * Geometry.
  * Operates on Geometry subclasses which contains a single coordinate list.
  */
-class CoordinateOperation: public GeometryEditorOperation {
+class GEOS_DLL CoordinateOperation: public GeometryEditorOperation {
 
 public:
 

Modified: trunk/source/headers/geos/geom/util/GeometryEditor.h
===================================================================
--- trunk/source/headers/geos/geom/util/GeometryEditor.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/util/GeometryEditor.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_GEOM_UTIL_GEOMETRYEDITOR_H
 #define GEOS_GEOM_UTIL_GEOMETRYEDITOR_H
 
+#include <geos/export.h>
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -69,7 +71,7 @@
  * @see Geometry::isValid
  *
  */
-class GeometryEditor {
+class GEOS_DLL GeometryEditor {
 private:
 	/**
 	 * The factory used to create the modified Geometry

Modified: trunk/source/headers/geos/geom/util/GeometryEditorOperation.h
===================================================================
--- trunk/source/headers/geos/geom/util/GeometryEditorOperation.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/util/GeometryEditorOperation.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_GEOM_UTIL_GEOMETRYEDITOROPERATION_H
 #define GEOS_GEOM_UTIL_GEOMETRYEDITOROPERATION_H
 
+#include <geos/export.h>
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -34,7 +36,7 @@
 /**
  * A interface which specifies an edit operation for Geometries.
  */
-class GeometryEditorOperation {
+class GEOS_DLL GeometryEditorOperation {
 
 public:
 	/**

Modified: trunk/source/headers/geos/geom/util/GeometryTransformer.h
===================================================================
--- trunk/source/headers/geos/geom/util/GeometryTransformer.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/util/GeometryTransformer.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_GEOM_UTIL_GEOMETRYTRANSFORMER_H
 #define GEOS_GEOM_UTIL_GEOMETRYTRANSFORMER_H
 
+
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h> // destructor visibility for vector
 #include <geos/geom/Geometry.h> // destructor visibility for auto_ptr
 #include <geos/geom/CoordinateSequence.h> // destructor visibility for auto_ptr
@@ -87,7 +89,7 @@
  * getParent() method to return immediate parent e.g. of LinearRings in Polygons
  *
  */
-class GeometryTransformer {
+class GEOS_DLL GeometryTransformer {
 
 public:
 

Modified: trunk/source/headers/geos/geom/util/LinearComponentExtracter.h
===================================================================
--- trunk/source/headers/geos/geom/util/LinearComponentExtracter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/util/LinearComponentExtracter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_GEOM_UTIL_LINEARCOMPONENTEXTRACTER_H
 #define GEOS_GEOM_UTIL_LINEARCOMPONENTEXTRACTER_H
 
+
+#include <geos/export.h>
 #include <vector>
 
 #include <geos/geom/GeometryComponentFilter.h>
@@ -31,7 +33,7 @@
 /**
  * Extracts all the 1-dimensional (LineString) components from a Geometry.
  */
-class LinearComponentExtracter: public GeometryComponentFilter {
+class GEOS_DLL LinearComponentExtracter: public GeometryComponentFilter {
 
 private:
 

Modified: trunk/source/headers/geos/geom/util/PointExtracter.h
===================================================================
--- trunk/source/headers/geos/geom/util/PointExtracter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/util/PointExtracter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_GEOM_UTIL_POINTEXTRACTER_H
 #define GEOS_GEOM_UTIL_POINTEXTRACTER_H
 
+#include <geos/export.h>
 #include <geos/geom/GeometryFilter.h>
 #include <geos/geom/Point.h>
 #include <geos/platform.h>
@@ -29,7 +30,7 @@
 /**
  * Extracts all the 0-dimensional (Point) components from a Geometry.
  */
-class PointExtracter: public GeometryFilter {
+class GEOS_DLL PointExtracter: public GeometryFilter {
 
 private:
 	Point::ConstVect& comps;

Modified: trunk/source/headers/geos/geom/util/PolygonExtracter.h
===================================================================
--- trunk/source/headers/geos/geom/util/PolygonExtracter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/util/PolygonExtracter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_GEOM_UTIL_POLYGONEXTRACTER_H
 #define GEOS_GEOM_UTIL_POLYGONEXTRACTER_H
 
+#include <geos/export.h>
 #include <geos/geom/GeometryFilter.h>
 #include <geos/geom/Polygon.h>
 #include <geos/platform.h>
@@ -29,7 +30,7 @@
 /**
  * Extracts all the 2-dimensional (Polygon) components from a Geometry.
  */
-class PolygonExtracter: public GeometryFilter {
+class GEOS_DLL PolygonExtracter: public GeometryFilter {
 
 private:
 

Modified: trunk/source/headers/geos/geom/util/ShortCircuitedGeometryVisitor.h
===================================================================
--- trunk/source/headers/geos/geom/util/ShortCircuitedGeometryVisitor.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geom/util/ShortCircuitedGeometryVisitor.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_GEOM_UTIL_SHORTCIRCUITEDGEOMETRYVISITOR_H
 #define GEOS_GEOM_UTIL_SHORTCIRCUITEDGEOMETRYVISITOR_H
 
+#include <geos/export.h>
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -35,7 +37,7 @@
  *
  * Last port: geom/util/ShortCircuitedGeometryVisitor.java rev. 1.1 (JTS-1.7)
  */
-class ShortCircuitedGeometryVisitor
+class GEOS_DLL ShortCircuitedGeometryVisitor
 {
 
 private:

Modified: trunk/source/headers/geos/geomgraph/Depth.h
===================================================================
--- trunk/source/headers/geos/geomgraph/Depth.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/Depth.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_DEPTH_H
 #define GEOS_GEOMGRAPH_DEPTH_H
 
+#include <geos/export.h>
 #include <string>
 
 #include <geos/inline.h>
@@ -38,7 +39,7 @@
 namespace geos {
 namespace geomgraph { // geos.geomgraph
 
-class Depth {
+class GEOS_DLL Depth {
 public:
 	static int depthAtLocation(int location);
 	Depth();

Modified: trunk/source/headers/geos/geomgraph/DirectedEdge.h
===================================================================
--- trunk/source/headers/geos/geomgraph/DirectedEdge.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/DirectedEdge.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_DIRECTEDEDGE_H
 #define GEOS_GEOMGRAPH_DIRECTEDEDGE_H
 
+#include <geos/export.h>
 #include <string>
 
 #include <geos/geomgraph/EdgeEnd.h> // for inheritance
@@ -42,7 +43,7 @@
 namespace geomgraph { // geos.geomgraph
 
 /// A directed EdgeEnd
-class DirectedEdge: public EdgeEnd {
+class GEOS_DLL DirectedEdge: public EdgeEnd {
 
 public:
 

Modified: trunk/source/headers/geos/geomgraph/DirectedEdgeStar.h
===================================================================
--- trunk/source/headers/geos/geomgraph/DirectedEdgeStar.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/DirectedEdgeStar.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_DIRECTEDEDGEENDSTAR_H
 #define GEOS_GEOMGRAPH_DIRECTEDEDGEENDSTAR_H
 
+#include <geos/export.h>
 #include <set>
 #include <string>
 #include <vector>
@@ -53,7 +54,7 @@
  * MaximalEdgeRings and MinimalEdgeRings.
  *
  */
-class DirectedEdgeStar: public EdgeEndStar {
+class GEOS_DLL DirectedEdgeStar: public EdgeEndStar {
 
 public:
 

Modified: trunk/source/headers/geos/geomgraph/Edge.h
===================================================================
--- trunk/source/headers/geos/geomgraph/Edge.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/Edge.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_EDGE_H
 #define GEOS_GEOMGRAPH_EDGE_H
 
+#include <geos/export.h>
 #include <string>
 #include <cassert>
 
@@ -58,7 +59,7 @@
 namespace geos {
 namespace geomgraph { // geos.geomgraph
 
-class Edge: public GraphComponent{
+class GEOS_DLL Edge: public GraphComponent{
 using GraphComponent::updateIM;
 
 private:

Modified: trunk/source/headers/geos/geomgraph/EdgeEnd.h
===================================================================
--- trunk/source/headers/geos/geomgraph/EdgeEnd.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/EdgeEnd.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_EDGEEND_H
 #define GEOS_GEOMGRAPH_EDGEEND_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>  // for p0,p1
 #include <geos/inline.h>
 
@@ -54,7 +55,7 @@
  * "a has a greater angle with the x-axis than b".
  * This ordering is used to sort EdgeEnds around a node.
  */
-class EdgeEnd {
+class GEOS_DLL EdgeEnd {
 
 public:
 
@@ -145,7 +146,7 @@
 
 std::ostream& operator<< (std::ostream&, const EdgeEnd&);
 
-struct EdgeEndLT {
+struct GEOS_DLL  EdgeEndLT {
 	bool operator()(const EdgeEnd *s1, const EdgeEnd *s2) const {
 		return s1->compareTo(s2)<0;
 	}

Modified: trunk/source/headers/geos/geomgraph/EdgeEndStar.h
===================================================================
--- trunk/source/headers/geos/geomgraph/EdgeEndStar.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/EdgeEndStar.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_EDGEENDSTAR_H
 #define GEOS_GEOMGRAPH_EDGEENDSTAR_H
 
+#include <geos/export.h>
 #include <geos/geomgraph/EdgeEnd.h>  // for EdgeEndLT
 #include <geos/geom/Coordinate.h>  // for p0,p1
 
@@ -56,7 +57,7 @@
  *
  * @version 1.4
  */
-class EdgeEndStar {
+class GEOS_DLL EdgeEndStar {
 public:
 
 	typedef std::set<EdgeEnd *, EdgeEndLT> container;

Modified: trunk/source/headers/geos/geomgraph/EdgeIntersection.h
===================================================================
--- trunk/source/headers/geos/geomgraph/EdgeIntersection.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/EdgeIntersection.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -25,6 +25,7 @@
 #ifndef GEOS_GEOMGRAPH_EDGEINTERSECTION_H
 #define GEOS_GEOMGRAPH_EDGEINTERSECTION_H
 
+#include <geos/export.h>
 #include <string>
 
 #include <geos/geom/Coordinate.h> // for CoordinateLessThen
@@ -44,7 +45,7 @@
  * The intersection point must be precise.
  *
  */
-class EdgeIntersection {
+class GEOS_DLL EdgeIntersection {
 public:
 
 	// the point of intersection
@@ -86,7 +87,7 @@
 
 };
 
-struct EdgeIntersectionLessThen {
+struct GEOS_DLL  EdgeIntersectionLessThen {
 	bool operator()(const EdgeIntersection *ei1,
 		const EdgeIntersection *ei2) const
 	{

Modified: trunk/source/headers/geos/geomgraph/EdgeIntersectionList.h
===================================================================
--- trunk/source/headers/geos/geomgraph/EdgeIntersectionList.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/EdgeIntersectionList.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_EDGEINTERSECTIONLIST_H
 #define GEOS_GEOMGRAPH_EDGEINTERSECTIONLIST_H
 
+#include <geos/export.h>
 #include <vector>
 #include <set>
 #include <string>
@@ -52,7 +53,7 @@
  * Implements splitting an edge with intersections
  * into multiple resultant edges.
  */
-class EdgeIntersectionList{
+class GEOS_DLL EdgeIntersectionList{
 public:
 	typedef std::set<EdgeIntersection *, EdgeIntersectionLessThen> container;
 	typedef container::iterator iterator;

Modified: trunk/source/headers/geos/geomgraph/EdgeList.h
===================================================================
--- trunk/source/headers/geos/geomgraph/EdgeList.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/EdgeList.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_EDGELIST_H
 #define GEOS_GEOMGRAPH_EDGELIST_H
 
+#include <geos/export.h>
 #include <vector>
 #include <map>
 #include <string>
@@ -52,7 +53,7 @@
  * It supports locating edges
  * that are pointwise equals to a target edge.
  */
-class EdgeList {
+class GEOS_DLL EdgeList {
 
 private:
 

Modified: trunk/source/headers/geos/geomgraph/EdgeNodingValidator.h
===================================================================
--- trunk/source/headers/geos/geomgraph/EdgeNodingValidator.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/EdgeNodingValidator.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_EDGENODINGVALIDATOR_H
 #define GEOS_GEOMGRAPH_EDGENODINGVALIDATOR_H
 
+#include <geos/export.h>
 #include <vector>
 
 #include <geos/noding/FastNodingValidator.h> // for composition
@@ -51,7 +52,7 @@
  *
  * Throws an appropriate exception if an noding error is found.
  */
-class EdgeNodingValidator {
+class GEOS_DLL EdgeNodingValidator {
 
 private:
 	std::vector<noding::SegmentString*>& toSegmentStrings(std::vector<Edge*>& edges);

Modified: trunk/source/headers/geos/geomgraph/EdgeRing.h
===================================================================
--- trunk/source/headers/geos/geomgraph/EdgeRing.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/EdgeRing.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_EDGERING_H
 #define GEOS_GEOMGRAPH_EDGERING_H
 
+#include <geos/export.h>
 #include <geos/geomgraph/Label.h> // for composition
 
 #include <geos/inline.h>
@@ -52,7 +53,7 @@
 namespace geos {
 namespace geomgraph { // geos.geomgraph
 
-class EdgeRing {
+class GEOS_DLL EdgeRing {
 
 public:
 	friend std::ostream& operator<< (std::ostream& os, const EdgeRing& er);

Modified: trunk/source/headers/geos/geomgraph/GeometryGraph.h
===================================================================
--- trunk/source/headers/geos/geomgraph/GeometryGraph.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/GeometryGraph.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_GEOMETRYGRAPH_H
 #define GEOS_GEOMGRAPH_GEOMETRYGRAPH_H
 
+#include <geos/export.h>
 #include <map>
 #include <vector>
 #include <memory>
@@ -62,9 +63,8 @@
 namespace geos {
 namespace geomgraph { // geos.geomgraph
 
-class GeometryGraph: public PlanarGraph
+class GEOS_DLL GeometryGraph: public PlanarGraph
 {
-
 using PlanarGraph::add;
 using PlanarGraph::findEdge;
 

Modified: trunk/source/headers/geos/geomgraph/GraphComponent.h
===================================================================
--- trunk/source/headers/geos/geomgraph/GraphComponent.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/GraphComponent.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_GRAPHCOMPONENT_H
 #define GEOS_GEOMGRAPH_GRAPHCOMPONENT_H
 
+#include <geos/export.h>
 #include <geos/inline.h>
 
 // Forward declarations
@@ -40,7 +41,7 @@
 namespace geomgraph { // geos.geomgraph
 
 
-class GraphComponent {
+class GEOS_DLL GraphComponent {
 public:
 	GraphComponent();
 

Modified: trunk/source/headers/geos/geomgraph/Label.h
===================================================================
--- trunk/source/headers/geos/geomgraph/Label.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/Label.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_LABEL_H
 #define GEOS_GEOMGRAPH_LABEL_H
 
+#include <geos/export.h>
 #include <geos/geomgraph/TopologyLocation.h> 
 
 #include <geos/inline.h>
@@ -56,7 +57,7 @@
  * with specific geometries.
  *
  */
-class Label {
+class GEOS_DLL Label {
 
 public:
 

Modified: trunk/source/headers/geos/geomgraph/Node.h
===================================================================
--- trunk/source/headers/geos/geomgraph/Node.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/Node.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_NODE_H
 #define GEOS_GEOMGRAPH_NODE_H
 
+#include <geos/export.h>
 #include <geos/geomgraph/GraphComponent.h> // for inheritance
 #include <geos/geom/Coordinate.h> // for member
 
@@ -54,7 +55,7 @@
 namespace geos {
 namespace geomgraph { // geos.geomgraph
 
-class Node: public GraphComponent {
+class GEOS_DLL Node: public GraphComponent {
 using GraphComponent::setLabel;
 
 public:

Modified: trunk/source/headers/geos/geomgraph/NodeFactory.h
===================================================================
--- trunk/source/headers/geos/geomgraph/NodeFactory.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/NodeFactory.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_NODEFACTORY_H
 #define GEOS_GEOMGRAPH_NODEFACTORY_H
 
+#include <geos/export.h>
 #include <geos/inline.h>
 
 // Forward declarations
@@ -39,7 +40,7 @@
 namespace geos {
 namespace geomgraph { // geos.geomgraph
 
-class NodeFactory {
+class GEOS_DLL NodeFactory {
 public:
 	virtual Node* createNode(const geom::Coordinate &coord) const;
 	static const NodeFactory &instance();

Modified: trunk/source/headers/geos/geomgraph/NodeMap.h
===================================================================
--- trunk/source/headers/geos/geomgraph/NodeMap.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/NodeMap.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_NODEMAP_H
 #define GEOS_GEOMGRAPH_NODEMAP_H
 
+#include <geos/export.h>
 #include <map>
 #include <vector>
 #include <string>
@@ -45,7 +46,7 @@
 namespace geos {
 namespace geomgraph { // geos.geomgraph
 
-class NodeMap{
+class GEOS_DLL NodeMap{
 public:
 
 	typedef std::map<geom::Coordinate*,Node*,geom::CoordinateLessThen> container;

Modified: trunk/source/headers/geos/geomgraph/PlanarGraph.h
===================================================================
--- trunk/source/headers/geos/geomgraph/PlanarGraph.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/PlanarGraph.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_PLANARGRAPH_H
 #define GEOS_GEOMGRAPH_PLANARGRAPH_H
 
+#include <geos/export.h>
 #include <map>
 #include <vector>
 #include <memory>
@@ -73,7 +74,7 @@
  *    different graphs
  * 
  */
-class PlanarGraph {
+class GEOS_DLL PlanarGraph {
 public:
 
 	/** \brief

Modified: trunk/source/headers/geos/geomgraph/Position.h
===================================================================
--- trunk/source/headers/geos/geomgraph/Position.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/Position.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_POSITION_H
 #define GEOS_GEOMGRAPH_POSITION_H
 
+#include <geos/export.h>
 #include <map>
 #include <vector>
 #include <string>
@@ -34,7 +35,7 @@
 namespace geos {
 namespace geomgraph { // geos.geomgraph
 
-class Position {
+class GEOS_DLL Position {
 public:
 	enum {
 		/*

Modified: trunk/source/headers/geos/geomgraph/Quadrant.h
===================================================================
--- trunk/source/headers/geos/geomgraph/Quadrant.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/Quadrant.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_QUADRANT_H
 #define GEOS_GEOMGRAPH_QUADRANT_H
 
+#include <geos/export.h>
 #include <string>
 
 #include <geos/inline.h>
@@ -47,7 +48,7 @@
  * <pre>
  *
  */
-class Quadrant {
+class GEOS_DLL Quadrant {
 
 public:
 

Modified: trunk/source/headers/geos/geomgraph/TopologyLocation.h
===================================================================
--- trunk/source/headers/geos/geomgraph/TopologyLocation.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/TopologyLocation.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef GEOS_GEOMGRAPH_TOPOLOGYLOCATION_H
 #define GEOS_GEOMGRAPH_TOPOLOGYLOCATION_H
 
+#include <geos/export.h>
 #include <geos/inline.h>
 
 #include <vector>
@@ -52,7 +53,7 @@
  * The labelling is stored in an array location[j] where
  * where j has the values ON, LEFT, RIGHT
  */
-class TopologyLocation {
+class GEOS_DLL TopologyLocation {
 
 public:
 

Modified: trunk/source/headers/geos/geomgraph/index/EdgeSetIntersector.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/EdgeSetIntersector.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/EdgeSetIntersector.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_EDGESETINTERSECTOR_H
 #define GEOS_GEOMGRAPH_INDEX_EDGESETINTERSECTOR_H
 
+#include <geos/export.h>
 #include <vector>
 
 // Forward declarations
@@ -36,7 +37,7 @@
 /* 
  * This is derived from a Java interface.
  */
-class EdgeSetIntersector {
+class GEOS_DLL EdgeSetIntersector {
 public:
 	/**
 	 * Computes all self-intersections between edges in a set of edges,

Modified: trunk/source/headers/geos/geomgraph/index/MonotoneChain.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/MonotoneChain.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/MonotoneChain.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_MONOTONECHAIN_H
 #define GEOS_GEOMGRAPH_INDEX_MONOTONECHAIN_H
 
+
+#include <geos/export.h>
 #include <geos/geomgraph/index/SweepLineEventObj.h> // for inheritance
 #include <geos/geomgraph/index/MonotoneChainEdge.h> // for inline
 
@@ -38,7 +40,7 @@
 /**
  * Last port: geomgraph/index/MonotoneChain.java rev. 1.3 (JTS-1.7)
  */
-class MonotoneChain: public SweepLineEventOBJ {
+class GEOS_DLL MonotoneChain: public SweepLineEventOBJ {
 private:
 	MonotoneChainEdge *mce;
 	int chainIndex;

Modified: trunk/source/headers/geos/geomgraph/index/MonotoneChainEdge.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/MonotoneChainEdge.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/MonotoneChainEdge.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_MONOTONECHAINEDGE_H
 #define GEOS_GEOMGRAPH_INDEX_MONOTONECHAINEDGE_H
 
+
+#include <geos/export.h>
 #include <geos/geom/Envelope.h> // for composition
 
 // Forward declarations
@@ -36,7 +38,7 @@
 namespace geomgraph { // geos::geomgraph
 namespace index { // geos::geomgraph::index
 
-class MonotoneChainEdge {
+class GEOS_DLL MonotoneChainEdge {
 public:
 	//MonotoneChainEdge();
 	~MonotoneChainEdge();

Modified: trunk/source/headers/geos/geomgraph/index/MonotoneChainIndexer.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/MonotoneChainIndexer.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/MonotoneChainIndexer.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_MONOTONECHAININDEXER_H
 #define GEOS_GEOMGRAPH_INDEX_MONOTONECHAININDEXER_H
 
+#include <geos/export.h>
 #include <vector>
 
 // Forward declarations
@@ -31,7 +32,7 @@
 namespace index { // geos::geomgraph::index
 
 
-class MonotoneChainIndexer{
+class GEOS_DLL MonotoneChainIndexer{
 
 public:
 

Modified: trunk/source/headers/geos/geomgraph/index/SegmentIntersector.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/SegmentIntersector.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/SegmentIntersector.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_SEGMENTINTERSECTOR_H
 #define GEOS_GEOMGRAPH_INDEX_SEGMENTINTERSECTOR_H
 
+
+#include <geos/export.h>
 #include <vector>
 
 #include <geos/geom/Coordinate.h> // for composition
@@ -37,7 +39,7 @@
 namespace index { // geos::geomgraph::index
 
 
-class SegmentIntersector{
+class GEOS_DLL SegmentIntersector{
 
 private:
 

Modified: trunk/source/headers/geos/geomgraph/index/SimpleEdgeSetIntersector.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/SimpleEdgeSetIntersector.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/SimpleEdgeSetIntersector.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_SIMPLEEDGESETINTERSECTOR_H
 #define GEOS_GEOMGRAPH_INDEX_SIMPLEEDGESETINTERSECTOR_H
 
+#include <geos/export.h>
 #include <vector>
 
 #include <geos/geomgraph/index/EdgeSetIntersector.h> // for inheritance
@@ -35,7 +36,7 @@
 namespace geomgraph { // geos::geomgraph
 namespace index { // geos::geomgraph::index
 
-class SimpleEdgeSetIntersector: public EdgeSetIntersector {
+class GEOS_DLL SimpleEdgeSetIntersector: public EdgeSetIntersector {
 
 public:
 

Modified: trunk/source/headers/geos/geomgraph/index/SimpleMCSweepLineIntersector.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/SimpleMCSweepLineIntersector.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/SimpleMCSweepLineIntersector.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_SIMPLEMCSWEEPLINEINTERSECTOR_H
 #define GEOS_GEOMGRAPH_INDEX_SIMPLEMCSWEEPLINEINTERSECTOR_H
 
+#include <geos/export.h>
 #include <vector>
 
 #include <geos/geomgraph/index/EdgeSetIntersector.h> // for inheritance
@@ -45,7 +46,7 @@
  * The use of MonotoneChains as the items in the index
  * seems to offer an improvement in performance over a sweep-line alone.
  */
-class SimpleMCSweepLineIntersector: public EdgeSetIntersector {
+class GEOS_DLL SimpleMCSweepLineIntersector: public EdgeSetIntersector {
 
 public:
 

Modified: trunk/source/headers/geos/geomgraph/index/SimpleSweepLineIntersector.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/SimpleSweepLineIntersector.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/SimpleSweepLineIntersector.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_SIMPLESWEEPLINEINTERSECTOR_H
 #define GEOS_GEOMGRAPH_INDEX_SIMPLESWEEPLINEINTERSECTOR_H
 
+#include <geos/export.h>
 #include <vector>
 
 #include <geos/geomgraph/index/EdgeSetIntersector.h> // for inheritance
@@ -43,7 +44,7 @@
  * While still O(n^2) in the worst case, this algorithm
  * drastically improves the average-case time.
  */
-class SimpleSweepLineIntersector: public EdgeSetIntersector {
+class GEOS_DLL SimpleSweepLineIntersector: public EdgeSetIntersector {
 
 public:
 

Modified: trunk/source/headers/geos/geomgraph/index/SweepLineEvent.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/SweepLineEvent.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/SweepLineEvent.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_SWEEPLINEEVENT_H
 #define GEOS_GEOMGRAPH_INDEX_SWEEPLINEEVENT_H
 
+
+#include <geos/export.h>
 #include <string>
 
 // Forward declarations
@@ -34,7 +36,7 @@
 
 //class SweepLineEventLessThen; // needed ??
 
-class SweepLineEvent{
+class GEOS_DLL SweepLineEvent{
 friend class SweepLineEventLessThen;
 
 public:
@@ -85,7 +87,7 @@
 	int deleteEventIndex;
 };
 
-class SweepLineEventLessThen {
+class GEOS_DLL SweepLineEventLessThen {
 public:
 	bool operator()(const SweepLineEvent *f, const SweepLineEvent *s) const
 	{

Modified: trunk/source/headers/geos/geomgraph/index/SweepLineEventObj.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/SweepLineEventObj.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/SweepLineEventObj.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_SWEEPLINEEVENTOBJ_H
 #define GEOS_GEOMGRAPH_INDEX_SWEEPLINEEVENTOBJ_H
 
+#include <geos/export.h>
 
 namespace geos {
 namespace geomgraph { // geos::geomgraph
@@ -26,7 +27,7 @@
 // can use it as argument type. 
 // Both  SweepLineSegment and MonotoneChain will
 // inherit from it.
-class SweepLineEventOBJ {
+class GEOS_DLL SweepLineEventOBJ {
 public:
 	virtual ~SweepLineEventOBJ(){};
 };

Modified: trunk/source/headers/geos/geomgraph/index/SweepLineSegment.h
===================================================================
--- trunk/source/headers/geos/geomgraph/index/SweepLineSegment.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/geomgraph/index/SweepLineSegment.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_SWEEPLINESEGMENT_H
 #define GEOS_GEOMGRAPH_INDEX_SWEEPLINESEGMENT_H
 
+
+#include <geos/export.h>
 #include <geos/geomgraph/index/SweepLineEventObj.h> // for inheritance
 
 // Forward declarations
@@ -36,7 +38,7 @@
 namespace geomgraph { // geos::geomgraph
 namespace index { // geos::geomgraph::index
 
-class SweepLineSegment: public SweepLineEventOBJ {
+class GEOS_DLL SweepLineSegment: public SweepLineEventOBJ {
 public:
 	SweepLineSegment(Edge *newEdge, int newPtIndex);
 	~SweepLineSegment();

Modified: trunk/source/headers/geos/index/ItemVisitor.h
===================================================================
--- trunk/source/headers/geos/index/ItemVisitor.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/ItemVisitor.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_INDEX_ITEMVISITOR_H
 #define GEOS_INDEX_ITEMVISITOR_H
 
+#include <geos/export.h>
+
 namespace geos {
 namespace index {
 
@@ -25,7 +27,7 @@
  *
  * Last port: index/ItemVisitor.java rev. 1.2 (JTS-1.7)
  */
-class ItemVisitor {
+class GEOS_DLL ItemVisitor {
 public:
 	virtual void visitItem(void *)=0;
 

Modified: trunk/source/headers/geos/index/SpatialIndex.h
===================================================================
--- trunk/source/headers/geos/index/SpatialIndex.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/SpatialIndex.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_INDEX_SPATIALINDEX_H
 #define GEOS_INDEX_SPATIALINDEX_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // Forward declarations
@@ -43,7 +45,7 @@
  * Last port: index/SpatialIndex.java rev. 1.11 (JTS-1.7)
  *
  */
-class SpatialIndex {
+class GEOS_DLL SpatialIndex {
 public:
 	
     virtual ~SpatialIndex() {}

Modified: trunk/source/headers/geos/index/bintree/Bintree.h
===================================================================
--- trunk/source/headers/geos/index/bintree/Bintree.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/bintree/Bintree.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_IDX_BINTREE_BINTREE_H
 #define GEOS_IDX_BINTREE_BINTREE_H
 
+#include <geos/export.h>
 #include <vector>
 
 // Forward declarations
@@ -48,7 +49,7 @@
  * This index is different to the Interval Tree of Edelsbrunner
  * or the Segment Tree of Bentley.
  */
-class Bintree {
+class GEOS_DLL Bintree {
 
 public:
 

Modified: trunk/source/headers/geos/index/bintree/Interval.h
===================================================================
--- trunk/source/headers/geos/index/bintree/Interval.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/bintree/Interval.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,12 +16,14 @@
 #ifndef GEOS_IDX_BINTREE_INTERVAL_H
 #define GEOS_IDX_BINTREE_INTERVAL_H
 
+#include <geos/export.h>
+
 namespace geos {
 namespace index { // geos::index
 namespace bintree { // geos::index::bintree
 
 /// Represents an (1-dimensional) closed interval on the Real number line.
-class Interval {
+class GEOS_DLL Interval {
 
 public:
 

Modified: trunk/source/headers/geos/index/bintree/Key.h
===================================================================
--- trunk/source/headers/geos/index/bintree/Key.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/bintree/Key.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_IDX_BINTREE_KEY_H
 #define GEOS_IDX_BINTREE_KEY_H
 
+#include <geos/export.h>
+
 // Forward declarations
 namespace geos {
 	namespace index { 
@@ -35,7 +37,7 @@
  * It contains a lower-left point and a level number.
  * The level number is the power of two for the size of the node envelope
  */
-class Key {
+class GEOS_DLL Key {
 
 public:
 

Modified: trunk/source/headers/geos/index/bintree/Node.h
===================================================================
--- trunk/source/headers/geos/index/bintree/Node.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/bintree/Node.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_IDX_BINTREE_NODE_H
 #define GEOS_IDX_BINTREE_NODE_H
 
+#include <geos/export.h>
 #include <geos/index/bintree/NodeBase.h> // for inheritance
 
 // Forward declarations
@@ -32,7 +33,7 @@
 namespace bintree { // geos::index::bintree
 
 /// A node of a Bintree.
-class Node: public NodeBase {
+class GEOS_DLL Node: public NodeBase {
 
 public:
 

Modified: trunk/source/headers/geos/index/bintree/NodeBase.h
===================================================================
--- trunk/source/headers/geos/index/bintree/NodeBase.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/bintree/NodeBase.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_IDX_BINTREE_NODEBASE_H
 #define GEOS_IDX_BINTREE_NODEBASE_H
 
+#include <geos/export.h>
 #include <vector>
 
 // Forward declarations
@@ -33,7 +34,7 @@
 namespace bintree { // geos::index::bintree
 
 /// The base class for nodes in a Bintree.
-class NodeBase {
+class GEOS_DLL NodeBase {
 
 public:
 

Modified: trunk/source/headers/geos/index/bintree/Root.h
===================================================================
--- trunk/source/headers/geos/index/bintree/Root.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/bintree/Root.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_IDX_BINTREE_ROOT_H
 #define GEOS_IDX_BINTREE_ROOT_H
 
+#include <geos/export.h>
 #include <geos/index/bintree/NodeBase.h> // for inheritance
 
 // Forward declarations
@@ -38,7 +39,7 @@
  * It is centred at the origin,
  * and does not have a defined extent.
  */
-class Root: public NodeBase {
+class GEOS_DLL Root: public NodeBase {
 
 private:
 

Modified: trunk/source/headers/geos/index/chain/MonotoneChain.h
===================================================================
--- trunk/source/headers/geos/index/chain/MonotoneChain.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/chain/MonotoneChain.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_IDX_CHAIN_MONOTONECHAIN_H
 #define GEOS_IDX_CHAIN_MONOTONECHAIN_H
 
+#include <geos/export.h>
 #include <geos/geom/Envelope.h> // for inline
 
 #include <memory> // for auto_ptr
@@ -82,7 +83,7 @@
  * However, it does mean that the queries are not thread-safe.
  *
  */
-class MonotoneChain
+class GEOS_DLL MonotoneChain
 {
 public:
 

Modified: trunk/source/headers/geos/index/chain/MonotoneChainBuilder.h
===================================================================
--- trunk/source/headers/geos/index/chain/MonotoneChainBuilder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/chain/MonotoneChainBuilder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_IDX_CHAIN_MONOTONECHAINBUILDER_H
 #define GEOS_IDX_CHAIN_MONOTONECHAINBUILDER_H
 
+#include <geos/export.h>
 #include <vector>
 
 // Forward declarations
@@ -44,7 +45,7 @@
  *
  * TODO: use vector<const Coordinate*> instead ?
  */
-class MonotoneChainBuilder {
+class GEOS_DLL MonotoneChainBuilder {
 
 public:
 

Modified: trunk/source/headers/geos/index/chain/MonotoneChainOverlapAction.h
===================================================================
--- trunk/source/headers/geos/index/chain/MonotoneChainOverlapAction.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/chain/MonotoneChainOverlapAction.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_IDX_CHAIN_MONOTONECHAINOVERLAPACTION_H
 #define GEOS_IDX_CHAIN_MONOTONECHAINOVERLAPACTION_H
 
+#include <geos/export.h>
 #include <geos/geom/LineSegment.h>
 #include <geos/geom/Envelope.h>
 
@@ -41,7 +42,7 @@
  * The action for the internal iterator for performing
  * overlap queries on a MonotoneChain
  */
-class MonotoneChainOverlapAction {
+class GEOS_DLL MonotoneChainOverlapAction {
 
 protected:
 

Modified: trunk/source/headers/geos/index/chain/MonotoneChainSelectAction.h
===================================================================
--- trunk/source/headers/geos/index/chain/MonotoneChainSelectAction.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/chain/MonotoneChainSelectAction.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_IDX_CHAIN_MONOTONECHAINSELECTACTION_H
 #define GEOS_IDX_CHAIN_MONOTONECHAINSELECTACTION_H
 
+#include <geos/export.h>
 #include <geos/geom/LineSegment.h> // composition
 #include <geos/geom/Envelope.h> // composition
 
@@ -42,7 +43,7 @@
  *  Envelope select queries on a MonotoneChain
  *
  */
-class MonotoneChainSelectAction {
+class GEOS_DLL MonotoneChainSelectAction {
 
 protected:
 

Modified: trunk/source/headers/geos/index/quadtree/DoubleBits.h
===================================================================
--- trunk/source/headers/geos/index/quadtree/DoubleBits.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/quadtree/DoubleBits.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_IDX_QUADTREE_DOUBLEBITS_H
 #define GEOS_IDX_QUADTREE_DOUBLEBITS_H
 
+#include <geos/export.h>
 #include <geos/platform.h> // for int64
 
 #include <string>
@@ -41,7 +42,7 @@
  * apply only to IEEE-754 double-precision floating point format.
  *
  */
-class DoubleBits {
+class GEOS_DLL DoubleBits {
 
 public:
 

Modified: trunk/source/headers/geos/index/quadtree/IntervalSize.h
===================================================================
--- trunk/source/headers/geos/index/quadtree/IntervalSize.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/quadtree/IntervalSize.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_IDX_QUADTREE_INTERVALSIZE_H
 #define GEOS_IDX_QUADTREE_INTERVALSIZE_H
 
+#include <geos/export.h>
+
 namespace geos {
 namespace index { // geos::index
 namespace quadtree { // geos::index::quadtree
@@ -37,7 +39,7 @@
  * computing a midpoint value which does not lie strictly between the
  * endpoints.
  */
-class IntervalSize {
+class GEOS_DLL IntervalSize {
 public:
 	/**
 	 * This value is chosen to be a few powers of 2 less than the

Modified: trunk/source/headers/geos/index/quadtree/Key.h
===================================================================
--- trunk/source/headers/geos/index/quadtree/Key.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/quadtree/Key.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,7 @@
 #ifndef GEOS_IDX_QUADTREE_KEY_H
 #define GEOS_IDX_QUADTREE_KEY_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h> // for composition
 #include <geos/geom/Envelope.h> // for composition
 
@@ -39,7 +40,7 @@
  * It contains a lower-left point and a level number. The level number
  * is the power of two for the size of the node envelope
  */
-class Key {
+class GEOS_DLL Key {
 public:
 
 	// Doesn't touch the Envelope, might as well be const

Modified: trunk/source/headers/geos/index/quadtree/Node.h
===================================================================
--- trunk/source/headers/geos/index/quadtree/Node.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/quadtree/Node.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_IDX_QUADTREE_NODE_H
 #define GEOS_IDX_QUADTREE_NODE_H
 
+#include <geos/export.h>
 #include <geos/index/quadtree/NodeBase.h> // for inheritance
 #include <geos/geom/Coordinate.h> // for composition
 #include <geos/geom/Envelope.h> // for inline
@@ -47,7 +48,7 @@
  * the node's position in the quadtree.
  *
  */
-class Node: public NodeBase {
+class GEOS_DLL Node: public NodeBase {
 
 private:
 

Modified: trunk/source/headers/geos/index/quadtree/NodeBase.h
===================================================================
--- trunk/source/headers/geos/index/quadtree/NodeBase.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/quadtree/NodeBase.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_IDX_QUADTREE_NODEBASE_H
 #define GEOS_IDX_QUADTREE_NODEBASE_H
 
+#include <geos/export.h>
 #include <vector>
 #include <string>
 
@@ -46,7 +47,7 @@
  * The base class for nodes in a Quadtree.
  *
  */
-class NodeBase {
+class GEOS_DLL NodeBase {
 
 private:
 

Modified: trunk/source/headers/geos/index/quadtree/Quadtree.h
===================================================================
--- trunk/source/headers/geos/index/quadtree/Quadtree.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/quadtree/Quadtree.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_IDX_QUADTREE_QUADTREE_H
 #define GEOS_IDX_QUADTREE_QUADTREE_H
 
+#include <geos/export.h>
 #include <geos/index/SpatialIndex.h> // for inheritance
 #include <geos/index/quadtree/Root.h> // for composition
 
@@ -64,7 +65,7 @@
  * This data structure is also known as an <i>MX-CIF quadtree</i>
  * following the usage of Samet and others.
  */
-class Quadtree: public SpatialIndex {
+class GEOS_DLL Quadtree: public SpatialIndex {
 
 private:
 

Modified: trunk/source/headers/geos/index/quadtree/Root.h
===================================================================
--- trunk/source/headers/geos/index/quadtree/Root.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/quadtree/Root.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_IDX_QUADTREE_ROOT_H
 #define GEOS_IDX_QUADTREE_ROOT_H
 
+#include <geos/export.h>
 #include <geos/index/quadtree/NodeBase.h> // for inheritance
 #include <geos/geom/Coordinate.h> // for composition
 
@@ -46,7 +47,7 @@
  * QuadRoot is the root of a single Quadtree.  It is centred at the origin,
  * and does not have a defined extent.
  */
-class Root: public NodeBase {
+class GEOS_DLL Root: public NodeBase {
 //friend class Unload;
 
 private:

Modified: trunk/source/headers/geos/index/strtree/AbstractNode.h
===================================================================
--- trunk/source/headers/geos/index/strtree/AbstractNode.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/strtree/AbstractNode.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_INDEX_STRTREE_ABSTRACTNODE_H
 #define GEOS_INDEX_STRTREE_ABSTRACTNODE_H
 
+#include <geos/export.h>
 #include <geos/index/strtree/Boundable.h> // for inheritance
 
 #include <vector>
@@ -34,7 +35,7 @@
  * then we say that this node is a "leaf node".  
  *
  */
-class AbstractNode: public Boundable {
+class GEOS_DLL AbstractNode: public Boundable {
 private:
 	std::vector<Boundable*> *childBoundables;
 	int level;

Modified: trunk/source/headers/geos/index/strtree/AbstractSTRtree.h
===================================================================
--- trunk/source/headers/geos/index/strtree/AbstractSTRtree.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/strtree/AbstractSTRtree.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_INDEX_STRTREE_ABSTRACTSTRTREE_H
 #define GEOS_INDEX_STRTREE_ABSTRACTSTRTREE_H
 
+#include <geos/export.h>
+
 #include <geos/index/strtree/AbstractNode.h> // for inlines
 
 #include <vector>
@@ -128,7 +130,7 @@
  * data, both of which are treated here as Boundables.
  * 
  */
-class AbstractSTRtree {
+class GEOS_DLL AbstractSTRtree {
 
 private:
 	bool built;

Modified: trunk/source/headers/geos/index/strtree/Boundable.h
===================================================================
--- trunk/source/headers/geos/index/strtree/Boundable.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/strtree/Boundable.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,12 +16,14 @@
 #ifndef GEOS_INDEX_STRTREE_BOUNDABLE_H
 #define GEOS_INDEX_STRTREE_BOUNDABLE_H
 
+#include <geos/export.h>
+
 namespace geos {
 namespace index { // geos::index
 namespace strtree { // geos::index::strtree
 
 /// A spatial object in an AbstractSTRtree.
-class Boundable {
+class GEOS_DLL Boundable {
 public:
 	/**
 	 * Returns a representation of space that encloses this Boundable,

Modified: trunk/source/headers/geos/index/strtree/Interval.h
===================================================================
--- trunk/source/headers/geos/index/strtree/Interval.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/strtree/Interval.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_INDEX_STRTREE_INTERVAL_H
 #define GEOS_INDEX_STRTREE_INTERVAL_H
 
+#include <geos/export.h>
+
 namespace geos {
 namespace index { // geos::index
 namespace strtree { // geos::index::strtree
@@ -24,7 +26,7 @@
 //
 /// @see SIRtree
 ///
-class Interval {
+class GEOS_DLL Interval {
 public:
 	Interval(Interval *other);
 	Interval(double newMin, double newMax);

Modified: trunk/source/headers/geos/index/strtree/ItemBoundable.h
===================================================================
--- trunk/source/headers/geos/index/strtree/ItemBoundable.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/strtree/ItemBoundable.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -15,6 +15,8 @@
 #ifndef GEOS_INDEX_STRTREE_ITEMBOUNDABLE_H
 #define GEOS_INDEX_STRTREE_ITEMBOUNDABLE_H
 
+#include <geos/export.h>
+
 #include <geos/index/strtree/Boundable.h> // for inheritance
 
 namespace geos {
@@ -28,7 +30,7 @@
  *
  * \todo TODO: It's unclear who takes ownership of passed newBounds and newItem objects.
  */
-class ItemBoundable: public Boundable
+class GEOS_DLL ItemBoundable: public Boundable
 {
 public:
 

Modified: trunk/source/headers/geos/index/strtree/SIRtree.h
===================================================================
--- trunk/source/headers/geos/index/strtree/SIRtree.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/strtree/SIRtree.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_INDEX_STRTREE_SIRTREE_H
 #define GEOS_INDEX_STRTREE_SIRTREE_H
 
+#include <geos/export.h>
+
 #include <geos/index/strtree/AbstractSTRtree.h> // for inheritance
 #include <geos/index/strtree/Interval.h> // for inline
 
@@ -37,7 +39,7 @@
  *
  * @see STRtree
  */
-class SIRtree: public AbstractSTRtree {
+class GEOS_DLL SIRtree: public AbstractSTRtree {
 using AbstractSTRtree::insert;
 using AbstractSTRtree::query;
 

Modified: trunk/source/headers/geos/index/strtree/STRtree.h
===================================================================
--- trunk/source/headers/geos/index/strtree/STRtree.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/strtree/STRtree.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_INDEX_STRTREE_STRTREE_H
 #define GEOS_INDEX_STRTREE_STRTREE_H
 
+#include <geos/export.h>
+
 #include <geos/index/strtree/AbstractSTRtree.h> // for inheritance
 #include <geos/index/SpatialIndex.h> // for inheritance
 #include <geos/geom/Envelope.h> // for inlines
@@ -55,7 +57,7 @@
  * Databases With Application To GIS. Morgan Kaufmann, San Francisco, 2002. 
  *
  */
-class STRtree: public AbstractSTRtree, public SpatialIndex
+class GEOS_DLL STRtree: public AbstractSTRtree, public SpatialIndex
 {
 using AbstractSTRtree::insert;
 using AbstractSTRtree::query;

Modified: trunk/source/headers/geos/index/sweepline/SweepLineEvent.h
===================================================================
--- trunk/source/headers/geos/index/sweepline/SweepLineEvent.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/sweepline/SweepLineEvent.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_INDEX_SWEEPLINE_SWEEPLINEEVENT_H
 #define GEOS_INDEX_SWEEPLINE_SWEEPLINEEVENT_H
 
+#include <geos/export.h>
+
 // Forward declarations
 namespace geos {
 	namespace index { 
@@ -29,7 +31,7 @@
 namespace index { // geos.index
 namespace sweepline { // geos:index:sweepline
 
-class SweepLineEvent {
+class GEOS_DLL SweepLineEvent {
 
 public:
 
@@ -81,7 +83,7 @@
 // temp typedefs for backward compatibility
 //typedef SweepLineEvent indexSweepLineEvent;
 
-struct SweepLineEventLessThen {
+struct GEOS_DLL  SweepLineEventLessThen {
 	bool operator() (const SweepLineEvent* first, const SweepLineEvent* second) const;
 };
 

Modified: trunk/source/headers/geos/index/sweepline/SweepLineIndex.h
===================================================================
--- trunk/source/headers/geos/index/sweepline/SweepLineIndex.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/sweepline/SweepLineIndex.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_INDEX_SWEEPLINE_SWEEPLINEINDEX_H
 #define GEOS_INDEX_SWEEPLINE_SWEEPLINEINDEX_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // Forward declarations
@@ -38,7 +40,7 @@
  *
  * It is used to compute all overlaps between the interval in the index.
  */
-class SweepLineIndex {
+class GEOS_DLL SweepLineIndex {
 
 public:
 

Modified: trunk/source/headers/geos/index/sweepline/SweepLineInterval.h
===================================================================
--- trunk/source/headers/geos/index/sweepline/SweepLineInterval.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/sweepline/SweepLineInterval.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,11 +16,13 @@
 #ifndef GEOS_INDEX_SWEEPLINE_SWEEPLINEINTERVAL_H
 #define GEOS_INDEX_SWEEPLINE_SWEEPLINEINTERVAL_H
 
+#include <geos/export.h>
+
 namespace geos {
 namespace index { // geos.index
 namespace sweepline { // geos:index:sweepline
 
-class SweepLineInterval {
+class GEOS_DLL SweepLineInterval {
 public:
 	SweepLineInterval(double newMin, double newMax, void* newItem=0);
 	double getMin();

Modified: trunk/source/headers/geos/index/sweepline/SweepLineOverlapAction.h
===================================================================
--- trunk/source/headers/geos/index/sweepline/SweepLineOverlapAction.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/index/sweepline/SweepLineOverlapAction.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_INDEX_SWEEPLINE_SWEEPLINEOVERLAPACTION_H
 #define GEOS_INDEX_SWEEPLINE_SWEEPLINEOVERLAPACTION_H
 
+#include <geos/export.h>
+
 // Forward declarations
 namespace geos {
 	namespace index { 
@@ -29,7 +31,7 @@
 namespace index { // geos.index
 namespace sweepline { // geos:index:sweepline
 
-class SweepLineOverlapAction {
+class GEOS_DLL SweepLineOverlapAction {
 public:
 	virtual void overlap(SweepLineInterval *s0,SweepLineInterval *s1)=0;
 

Modified: trunk/source/headers/geos/inline.h
===================================================================
--- trunk/source/headers/geos/inline.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/inline.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,4 +22,5 @@
 # define INLINE
 #endif
 
+
 #endif // ndef GEOS_INLINE_H

Modified: trunk/source/headers/geos/io/ByteOrderDataInStream.h
===================================================================
--- trunk/source/headers/geos/io/ByteOrderDataInStream.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/ByteOrderDataInStream.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_IO_BYTEORDERDATAINSTREAM_H
 #define GEOS_IO_BYTEORDERDATAINSTREAM_H
 
+#include <geos/export.h>
+
 //#include <geos/platform.h>
 //#include <geos/io/ParseException.h>
 //#include <geos/io/ByteOrderValues.h>
@@ -34,7 +36,7 @@
  * istream, with the representation being in either common byte ordering.
  *
  */
-class ByteOrderDataInStream {
+class GEOS_DLL ByteOrderDataInStream {
 
 public:
 

Modified: trunk/source/headers/geos/io/ByteOrderValues.h
===================================================================
--- trunk/source/headers/geos/io/ByteOrderValues.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/ByteOrderValues.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_IO_BYTEORDERVALUES_H
 #define GEOS_IO_BYTEORDERVALUES_H
 
+#include <geos/export.h>
+
 #include <geos/platform.h>
 
 namespace geos {
@@ -30,7 +32,7 @@
  * 
  * Similar to the standard Java <code>ByteBuffer</code> class.
  */
-class ByteOrderValues {
+class GEOS_DLL ByteOrderValues {
 
 public:
 

Modified: trunk/source/headers/geos/io/CLocalizer.h
===================================================================
--- trunk/source/headers/geos/io/CLocalizer.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/CLocalizer.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -1,3 +1,5 @@
+#include <geos/export.h>
+
 #include <string>
 
 namespace geos {
@@ -6,7 +8,7 @@
 /**
  * \class CLocalizer io.h geos.h
  */
-class CLocalizer
+class GEOS_DLL CLocalizer
 {
 public:
 

Modified: trunk/source/headers/geos/io/ParseException.h
===================================================================
--- trunk/source/headers/geos/io/ParseException.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/ParseException.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_IO_PARSEEXCEPTION_H
 #define GEOS_IO_PARSEEXCEPTION_H
 
+#include <geos/export.h>
+
 #include <geos/util/GEOSException.h>
 
 namespace geos {
@@ -26,7 +28,7 @@
  * \class ParseException io.h geos.h
  * \brief Notifies a parsing error
  */
-class ParseException : public util::GEOSException
+class GEOS_DLL ParseException : public util::GEOSException
 {
 
 public:

Modified: trunk/source/headers/geos/io/StringTokenizer.h
===================================================================
--- trunk/source/headers/geos/io/StringTokenizer.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/StringTokenizer.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,12 +17,14 @@
 #ifndef GEOS_IO_STRINGTOKENIZER_H
 #define GEOS_IO_STRINGTOKENIZER_H
 
+#include <geos/export.h>
+
 #include <string>
 
 namespace geos {
 namespace io {
 
-class StringTokenizer {
+class GEOS_DLL StringTokenizer {
 public:
 	enum {
 		TT_EOF,

Modified: trunk/source/headers/geos/io/WKBReader.h
===================================================================
--- trunk/source/headers/geos/io/WKBReader.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/WKBReader.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_IO_WKBREADER_H
 #define GEOS_IO_WKBREADER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/GeometryFactory.h>
 #include <geos/io/ByteOrderDataInStream.h> // for composition
 
@@ -64,7 +66,7 @@
  * representing 3-dimensional coordinates.
  *
  */
-class WKBReader {
+class GEOS_DLL WKBReader {
 
 public:
 

Modified: trunk/source/headers/geos/io/WKBWriter.h
===================================================================
--- trunk/source/headers/geos/io/WKBWriter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/WKBWriter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_IO_WKBWRITER_H
 #define GEOS_IO_WKBWRITER_H
 
+#include <geos/export.h>
+
 #include <geos/platform.h> // for getMachineByteOrder
 #include <iosfwd>
 
@@ -64,7 +66,7 @@
  *
  * @see WKBReader
  */
-class WKBWriter {
+class GEOS_DLL WKBWriter {
 
 public:
 	/*

Modified: trunk/source/headers/geos/io/WKTReader.h
===================================================================
--- trunk/source/headers/geos/io/WKTReader.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/WKTReader.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_IO_WKTREADER_H
 #define GEOS_IO_WKTREADER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/GeometryFactory.h>
 #include <geos/geom/CoordinateSequence.h>
 #include <string>
@@ -50,7 +52,7 @@
  * \class WKTReader io.h geos.h
  * \brief WKT parser class; see also WKTWriter.
  */
-class WKTReader {
+class GEOS_DLL WKTReader {
 public:
 	//WKTReader();
 

Modified: trunk/source/headers/geos/io/WKTWriter.h
===================================================================
--- trunk/source/headers/geos/io/WKTWriter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/WKTWriter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_IO_WKTWRITER_H
 #define GEOS_IO_WKTWRITER_H
 
+#include <geos/export.h>
+
 #include <string>
 
 // Forward declarations
@@ -65,7 +67,7 @@
  * See WKTReader for parsing.
  *
  */
-class WKTWriter {
+class GEOS_DLL WKTWriter {
 public:
 	WKTWriter();
 	~WKTWriter();

Modified: trunk/source/headers/geos/io/Writer.h
===================================================================
--- trunk/source/headers/geos/io/Writer.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/io/Writer.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,12 +17,14 @@
 #ifndef GEOS_IO_WRITER_H
 #define GEOS_IO_WRITER_H
 
+#include <geos/export.h>
+
 #include <string>
 
 namespace geos {
 namespace io {
 
-class Writer {
+class GEOS_DLL Writer {
 public:
 	Writer();
 	~Writer();

Modified: trunk/source/headers/geos/noding/IntersectionAdder.h
===================================================================
--- trunk/source/headers/geos/noding/IntersectionAdder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/IntersectionAdder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_INTERSECTIONADDER_H
 #define GEOS_NODING_INTERSECTIONADDER_H
 
+#include <geos/export.h>
+
 #include <vector>
 #include <iostream>
 #include <cstdlib> // for abs()
@@ -54,7 +56,7 @@
  * This class is an example of the <i>Strategy</i> pattern.
  *
  */
-class IntersectionAdder: public SegmentIntersector {
+class GEOS_DLL IntersectionAdder: public SegmentIntersector {
 
 private:
 

Modified: trunk/source/headers/geos/noding/IntersectionFinderAdder.h
===================================================================
--- trunk/source/headers/geos/noding/IntersectionFinderAdder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/IntersectionFinderAdder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_INTERSECTIONFINDERADDER_H
 #define GEOS_NODING_INTERSECTIONFINDERADDER_H
 
+#include <geos/export.h>
+
 #include <vector>
 #include <iostream>
 
@@ -49,7 +51,7 @@
  * and adds them as nodes.
  *
  */
-class IntersectionFinderAdder: public SegmentIntersector {
+class GEOS_DLL IntersectionFinderAdder: public SegmentIntersector {
 
 private:
 	algorithm::LineIntersector& li;

Modified: trunk/source/headers/geos/noding/IteratedNoder.h
===================================================================
--- trunk/source/headers/geos/noding/IteratedNoder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/IteratedNoder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_ITERATEDNODER_H
 #define GEOS_NODING_ITERATEDNODER_H
 
+#include <geos/export.h>
+
 #include <vector>
 #include <iostream>
 
@@ -50,7 +52,7 @@
  * Clients can choose to rerun the noding using a lower precision model.
  *
  */
-class IteratedNoder : public Noder { // implements Noder
+class GEOS_DLL IteratedNoder : public Noder { // implements Noder
 
 private:
 	static const int MAX_ITER = 5;

Modified: trunk/source/headers/geos/noding/MCIndexNoder.h
===================================================================
--- trunk/source/headers/geos/noding/MCIndexNoder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/MCIndexNoder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_MCINDEXNODER_H
 #define GEOS_NODING_MCINDEXNODER_H
 
+#include <geos/export.h>
+
 #include <geos/inline.h>
 
 #include <geos/index/chain/MonotoneChainOverlapAction.h> // for inheritance
@@ -54,7 +56,7 @@
  *
  * Last port: noding/MCIndexNoder.java rev. 1.4 (JTS-1.7)
  */
-class MCIndexNoder : public SinglePassNoder {
+class GEOS_DLL MCIndexNoder : public SinglePassNoder {
 
 private:
 	std::vector<index::chain::MonotoneChain*> monoChains;

Modified: trunk/source/headers/geos/noding/Noder.h
===================================================================
--- trunk/source/headers/geos/noding/Noder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/Noder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_NODING_NODER_H
 #define GEOS_NODING_NODER_H
 
+#include <geos/export.h>
+
 #include <vector>
 #include <iostream>
 
@@ -45,7 +47,7 @@
  * TODO: this was really an interface, we should avoid making it a Base class
  *
  */
-class Noder {
+class GEOS_DLL Noder {
 public:
 	/** \brief
 	 * Computes the noding for a collection of {@link SegmentString}s.

Modified: trunk/source/headers/geos/noding/NodingValidator.h
===================================================================
--- trunk/source/headers/geos/noding/NodingValidator.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/NodingValidator.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_NODING_NODINGVALIDATOR_H
 #define GEOS_NODING_NODINGVALIDATOR_H
 
+#include <geos/export.h>
+
 #include <vector>
 #include <iostream>
 
@@ -44,7 +46,7 @@
  * Last port: noding/NodingValidator.java rev. 1.6 (JTS-1.7)
  *
  */
-class NodingValidator {
+class GEOS_DLL NodingValidator {
 private:
 	algorithm::LineIntersector li;
 	const std::vector<SegmentString*>& segStrings;

Modified: trunk/source/headers/geos/noding/Octant.h
===================================================================
--- trunk/source/headers/geos/noding/Octant.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/Octant.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_NODING_OCTANT_H
 #define GEOS_NODING_OCTANT_H
 
+#include <geos/export.h>
+
 #include <geos/inline.h>
 #include <geos/util.h>
 
@@ -45,7 +47,7 @@
  *
  * Last port: noding/Octant.java rev. 1.2 (JTS-1.7)
  */
-class Octant {
+class GEOS_DLL Octant {
 private:
 	Octant() {} // Can't instanciate it
 public:

Modified: trunk/source/headers/geos/noding/OrientedCoordinateArray.h
===================================================================
--- trunk/source/headers/geos/noding/OrientedCoordinateArray.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/OrientedCoordinateArray.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_ORIENTEDCOORDINATEARRAY_H
 #define GEOS_NODING_ORIENTEDCOORDINATEARRAY_H
 
+#include <geos/export.h>
+
 //#include <vector>
 //#include <iostream>
 
@@ -42,7 +44,7 @@
  * Allows comparing {@link geom::CoordinateSequence}s
  * in an orientation-independent way.
  */
-class OrientedCoordinateArray
+class GEOS_DLL OrientedCoordinateArray
 {
 public:
 

Modified: trunk/source/headers/geos/noding/ScaledNoder.h
===================================================================
--- trunk/source/headers/geos/noding/ScaledNoder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/ScaledNoder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_SCALEDNODER_H
 #define GEOS_NODING_SCALEDNODER_H
 
+#include <geos/export.h>
+
 #include <cassert>
 #include <vector>
 
@@ -52,7 +54,7 @@
  * available precision.
  *
  */
-class ScaledNoder : public Noder { // , public geom::CoordinateFilter { // implements Noder
+class GEOS_DLL ScaledNoder : public Noder { // , public geom::CoordinateFilter { // implements Noder
 
 private:
 

Modified: trunk/source/headers/geos/noding/SegmentIntersector.h
===================================================================
--- trunk/source/headers/geos/noding/SegmentIntersector.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/SegmentIntersector.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_NODING_SEGMENTINTERSECTOR_H
 #define GEOS_NODING_SEGMENTINTERSECTOR_H
 
+#include <geos/export.h>
+
 #include <geos/inline.h>
 
 // Forward declarations
@@ -43,7 +45,7 @@
  *
  * @version 1.7
  */
-class SegmentIntersector {
+class GEOS_DLL SegmentIntersector {
 
 public:
 

Modified: trunk/source/headers/geos/noding/SegmentNode.h
===================================================================
--- trunk/source/headers/geos/noding/SegmentNode.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/SegmentNode.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_SEGMENTNODE_H
 #define GEOS_NODING_SEGMENTNODE_H
 
+#include <geos/export.h>
+
 #include <vector>
 #include <iostream>
 
@@ -41,7 +43,7 @@
 //
 /// Final class.
 ///
-class SegmentNode {
+class GEOS_DLL SegmentNode {
 private:
 	const NodedSegmentString& segString;
 
@@ -99,7 +101,7 @@
 
 std::ostream& operator<< (std::ostream& os, const SegmentNode& n);
 
-struct SegmentNodeLT {
+struct GEOS_DLL  SegmentNodeLT {
 	bool operator()(SegmentNode *s1, SegmentNode *s2) const {
 		return s1->compareTo(*s2)<0;
 	}

Modified: trunk/source/headers/geos/noding/SegmentNodeList.h
===================================================================
--- trunk/source/headers/geos/noding/SegmentNodeList.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/SegmentNodeList.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_SEGMENTNODELIST_H
 #define GEOS_NODING_SEGMENTNODELIST_H
 
+#include <geos/export.h>
+
 #include <geos/inline.h>
 
 #include <cassert>
@@ -47,7 +49,7 @@
  * A list of the SegmentNode present along a
  * NodedSegmentString.
  */
-class SegmentNodeList {
+class GEOS_DLL SegmentNodeList {
 private:
 	std::set<SegmentNode*,SegmentNodeLT> nodeMap;
 

Modified: trunk/source/headers/geos/noding/SegmentString.h
===================================================================
--- trunk/source/headers/geos/noding/SegmentString.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/SegmentString.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_SEGMENTSTRING_H
 #define GEOS_NODING_SEGMENTSTRING_H
 
+#include <geos/export.h>
+
 #include <geos/noding/SegmentNodeList.h>
 
 #include <geos/inline.h>
@@ -43,7 +45,7 @@
  * SegmentStrings can carry a context object, which is useful
  * for preserving topological or parentage information.
  */
-class SegmentString {
+class GEOS_DLL SegmentString {
 public:
 	typedef std::vector<const SegmentString*> ConstVect;
 	typedef std::vector<SegmentString *> NonConstVect;

Modified: trunk/source/headers/geos/noding/SimpleNoder.h
===================================================================
--- trunk/source/headers/geos/noding/SimpleNoder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/SimpleNoder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_SIMPLENODER_H
 #define GEOS_NODING_SIMPLENODER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 #include <geos/inline.h>
@@ -47,7 +49,7 @@
  *
  * @version 1.7
  */
-class SimpleNoder: public SinglePassNoder {
+class GEOS_DLL SimpleNoder: public SinglePassNoder {
 private:
 	std::vector<SegmentString*>* nodedSegStrings;
 	virtual void computeIntersects(SegmentString *e0, SegmentString *e1);

Modified: trunk/source/headers/geos/noding/SinglePassNoder.h
===================================================================
--- trunk/source/headers/geos/noding/SinglePassNoder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/SinglePassNoder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_NODING_SINGLEPASSNODER_H
 #define GEOS_NODING_SINGLEPASSNODER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 #include <geos/inline.h>
@@ -46,7 +48,7 @@
  * TODO: Noder inheritance (that's just an interface!)
  *
  */
-class SinglePassNoder : public Noder { // implements Noder
+class GEOS_DLL SinglePassNoder : public Noder { // implements Noder
 
 protected:
 

Modified: trunk/source/headers/geos/noding/snapround/HotPixel.h
===================================================================
--- trunk/source/headers/geos/noding/snapround/HotPixel.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/snapround/HotPixel.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_SNAPROUND_HOTPIXEL_H
 #define GEOS_NODING_SNAPROUND_HOTPIXEL_H
 
+#include <geos/export.h>
+
 #include <geos/inline.h>
 
 #include <geos/geom/Coordinate.h> // for composition
@@ -53,7 +55,7 @@
  * to avoid rounding problems.
  *
  */
-class HotPixel {
+class GEOS_DLL HotPixel {
 
 private:
 

Modified: trunk/source/headers/geos/noding/snapround/MCIndexPointSnapper.h
===================================================================
--- trunk/source/headers/geos/noding/snapround/MCIndexPointSnapper.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/snapround/MCIndexPointSnapper.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_SNAPROUND_MCINDEXPOINTSNAPPER_H
 #define GEOS_NODING_SNAPROUND_MCINDEXPOINTSNAPPER_H
 
+#include <geos/export.h>
+
 #include <geos/inline.h>
 
 // Forward declarations
@@ -44,7 +46,7 @@
  * {@link MonotoneChain}s to a given {@link HotPixel}.
  *
  */
-class MCIndexPointSnapper {
+class GEOS_DLL MCIndexPointSnapper {
 
 private:
 

Modified: trunk/source/headers/geos/noding/snapround/MCIndexSnapRounder.h
===================================================================
--- trunk/source/headers/geos/noding/snapround/MCIndexSnapRounder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/snapround/MCIndexSnapRounder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_SNAPROUND_MCINDEXSNAPROUNDER_H
 #define GEOS_NODING_SNAPROUND_MCINDEXSNAPROUNDER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 #include <geos/inline.h>
@@ -72,7 +74,7 @@
  * It will function with non-integer precision models, but the
  * results are not 100% guaranteed to be correctly noded.
  */
-class MCIndexSnapRounder: public Noder { // implments Noder
+class GEOS_DLL MCIndexSnapRounder: public Noder { // implments Noder
 
 private:
 

Modified: trunk/source/headers/geos/noding/snapround/SimpleSnapRounder.h
===================================================================
--- trunk/source/headers/geos/noding/snapround/SimpleSnapRounder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/noding/snapround/SimpleSnapRounder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_NODING_SNAPROUND_SIMPLESNAPROUNDER_H
 #define GEOS_NODING_SNAPROUND_SIMPLESNAPROUNDER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 #include <geos/inline.h>
@@ -68,7 +70,7 @@
  * results are not 100% guaranteed to be correctly noded.
  *
  */
-class SimpleSnapRounder: public Noder { // implements NoderIface
+class GEOS_DLL SimpleSnapRounder: public Noder { // implements NoderIface
 
 private:
 	const geom::PrecisionModel& pm;

Modified: trunk/source/headers/geos/operation/GeometryGraphOperation.h
===================================================================
--- trunk/source/headers/geos/operation/GeometryGraphOperation.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/GeometryGraphOperation.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,7 @@
 #ifndef GEOS_OPERATION_GEOMETRYGRAPHOPERATION_H
 #define GEOS_OPERATION_GEOMETRYGRAPHOPERATION_H
 
+#include <geos/export.h>
 #include <geos/algorithm/LineIntersector.h> // for composition
 
 #include <vector>
@@ -44,7 +45,7 @@
 namespace operation { // geos.operation
 
 /// The base class for operations that require GeometryGraph
-class GeometryGraphOperation {
+class GEOS_DLL GeometryGraphOperation {
 
 public:
 

Modified: trunk/source/headers/geos/operation/IsSimpleOp.h
===================================================================
--- trunk/source/headers/geos/operation/IsSimpleOp.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/IsSimpleOp.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OPERATION_ISSIMPLEOP_H
 #define GEOS_OPERATION_ISSIMPLEOP_H
 
+
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h> // for dtor visibility by auto_ptr (compos)
 
 #include <map>
@@ -85,7 +87,7 @@
  * @see algorithm::BoundaryNodeRule
  *
  */
-class IsSimpleOp
+class GEOS_DLL IsSimpleOp
 {
 
 public:

Modified: trunk/source/headers/geos/operation/buffer/BufferBuilder.h
===================================================================
--- trunk/source/headers/geos/operation/buffer/BufferBuilder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/buffer/BufferBuilder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,8 @@
 #ifndef GEOS_OP_BUFFER_BUFFERBUILDER_H
 #define GEOS_OP_BUFFER_BUFFERBUILDER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 #include <geos/operation/buffer/BufferOp.h> // for inlines (BufferOp enums)
@@ -79,7 +81,7 @@
  * can produce more robust results.
  *
  */
-class BufferBuilder {
+class GEOS_DLL BufferBuilder {
 
 private:
 	/**

Modified: trunk/source/headers/geos/operation/buffer/BufferOp.h
===================================================================
--- trunk/source/headers/geos/operation/buffer/BufferOp.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/buffer/BufferOp.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,8 +22,9 @@
 #ifndef GEOS_OP_BUFFER_BUFFEROP_H
 #define GEOS_OP_BUFFER_BUFFEROP_H
 
-//#include <geos/operation/buffer/OffsetCurveBuilder.h> // for enum values 
+#include <geos/export.h>//#include <geos/operation/buffer/OffsetCurveBuilder.h> // for enum values 
 #include <geos/operation/buffer/BufferParameters.h> // for enum values 
+
 #include <geos/util/TopologyException.h> // for composition
 
 // Forward declarations
@@ -68,7 +69,7 @@
  *   beyond the line ends
  * 
  */
-class BufferOp {
+class GEOS_DLL BufferOp {
 
 
 private:

Modified: trunk/source/headers/geos/operation/buffer/BufferSubgraph.h
===================================================================
--- trunk/source/headers/geos/operation/buffer/BufferSubgraph.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/buffer/BufferSubgraph.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_OP_BUFFER_BUFFERSUBGRAPH_H
 #define GEOS_OP_BUFFER_BUFFERSUBGRAPH_H
 
+#include <geos/export.h>
+
 #include <vector>
 #include <set>
 
@@ -52,7 +54,7 @@
  * - a single polygon in the complete buffer, with zero or more holes, or
  * -  ne or more connected holes
  */
-class BufferSubgraph {
+class GEOS_DLL BufferSubgraph {
 private:
 	RightmostEdgeFinder finder;
 

Modified: trunk/source/headers/geos/operation/buffer/OffsetCurveBuilder.h
===================================================================
--- trunk/source/headers/geos/operation/buffer/OffsetCurveBuilder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/buffer/OffsetCurveBuilder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,8 @@
 #ifndef GEOS_OP_BUFFER_OFFSETCURVEBUILDER_H
 #define GEOS_OP_BUFFER_OFFSETCURVEBUILDER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 #include <geos/algorithm/LineIntersector.h> // for composition
@@ -61,7 +63,7 @@
  * Last port: operation/buffer/OffsetCurveBuilder.java rev. 1.9
  *
  */
-class OffsetCurveBuilder {
+class GEOS_DLL OffsetCurveBuilder {
 public:
 
 	/*

Modified: trunk/source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h
===================================================================
--- trunk/source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_OP_BUFFER_OFFSETCURVESETBUILDER_H
 #define GEOS_OP_BUFFER_OFFSETCURVESETBUILDER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // Forward declarations
@@ -59,7 +61,7 @@
  * final buffer area.
  *
  */
-class OffsetCurveSetBuilder {
+class GEOS_DLL OffsetCurveSetBuilder {
 
 private:
 

Modified: trunk/source/headers/geos/operation/buffer/RightmostEdgeFinder.h
===================================================================
--- trunk/source/headers/geos/operation/buffer/RightmostEdgeFinder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/buffer/RightmostEdgeFinder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_OP_BUFFER_RIGHTMOSTEDGEFINDER_H
 #define GEOS_OP_BUFFER_RIGHTMOSTEDGEFINDER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/Coordinate.h> // for composition
 
 #include <vector>
@@ -43,7 +45,7 @@
  * the highest coordinate, and which is oriented L to R at that point.
  * (I.e. the right side is on the RHS of the edge.)
  */
-class RightmostEdgeFinder {
+class GEOS_DLL RightmostEdgeFinder {
 
 private:
 

Modified: trunk/source/headers/geos/operation/buffer/SubgraphDepthLocater.h
===================================================================
--- trunk/source/headers/geos/operation/buffer/SubgraphDepthLocater.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/buffer/SubgraphDepthLocater.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_OP_BUFFER_SUBGRAPHDEPTHLOCATER_H
 #define GEOS_OP_BUFFER_SUBGRAPHDEPTHLOCATER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 #include <geos/geom/LineSegment.h> // for composition
@@ -55,7 +57,7 @@
  * already calculated for their edges.
  *
  */
-class SubgraphDepthLocater {
+class GEOS_DLL SubgraphDepthLocater {
 
 public:
 

Modified: trunk/source/headers/geos/operation/distance/ConnectedElementLocationFilter.h
===================================================================
--- trunk/source/headers/geos/operation/distance/ConnectedElementLocationFilter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/distance/ConnectedElementLocationFilter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
 #define GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/GeometryFilter.h> // for inheritance
 
 #include <vector>
@@ -50,7 +52,7 @@
  * and returns them in a list. The elements of the list are 
  * DistanceOp::GeometryLocation.
  */
-class ConnectedElementLocationFilter: public geom::GeometryFilter {
+class GEOS_DLL ConnectedElementLocationFilter: public geom::GeometryFilter {
 private:
 
 	std::vector<GeometryLocation*> *locations;

Modified: trunk/source/headers/geos/operation/distance/ConnectedElementPointFilter.h
===================================================================
--- trunk/source/headers/geos/operation/distance/ConnectedElementPointFilter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/distance/ConnectedElementPointFilter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_DISTANCE_CONNECTEDELEMENTPOINTFILTER_H
 #define GEOS_OP_DISTANCE_CONNECTEDELEMENTPOINTFILTER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/GeometryFilter.h> // for inheritance
 
 #include <vector>
@@ -45,7 +47,7 @@
  * (e.g. a polygon, linestring or point)
  * and returns them in a list
  */
-class ConnectedElementPointFilter: public geom::GeometryFilter {
+class GEOS_DLL ConnectedElementPointFilter: public geom::GeometryFilter {
 
 private:
 	std::vector<const geom::Coordinate*> *pts;

Modified: trunk/source/headers/geos/operation/distance/DistanceOp.h
===================================================================
--- trunk/source/headers/geos/operation/distance/DistanceOp.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/distance/DistanceOp.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_DISTANCE_DISTANCEOP_H
 #define GEOS_OP_DISTANCE_DISTANCEOP_H
 
+#include <geos/export.h>
+
 #include <geos/algorithm/PointLocator.h> // for composition
 
 #include <vector>
@@ -66,7 +68,7 @@
  * by using Voronoi techniques or spatial indexes.
  *
  */
-class DistanceOp {
+class GEOS_DLL DistanceOp {
 public:
 	/**
 	 * \brief

Modified: trunk/source/headers/geos/operation/distance/GeometryLocation.h
===================================================================
--- trunk/source/headers/geos/operation/distance/GeometryLocation.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/distance/GeometryLocation.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_DISTANCE_GEOMETRYLOCATION_H
 #define GEOS_OP_DISTANCE_GEOMETRYLOCATION_H
 
+#include <geos/export.h>
+
 #include <geos/geom/Coordinate.h> // for composition
 
 // Forward declarations
@@ -47,7 +49,7 @@
  * so in this case the segment index will have the sentinel value of
  * INSIDE_AREA.
  */
-class GeometryLocation {
+class GEOS_DLL GeometryLocation {
 private:
 	const geom::Geometry *component;
 	int segIndex;

Modified: trunk/source/headers/geos/operation/linemerge/EdgeString.h
===================================================================
--- trunk/source/headers/geos/operation/linemerge/EdgeString.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/linemerge/EdgeString.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_OP_LINEMERGE_EDGESTRING_H
 #define GEOS_OP_LINEMERGE_EDGESTRING_H
 
+#include <geos/export.h>
 #include <vector>
 
 // Forward declarations 
@@ -42,7 +43,7 @@
  * A sequence of LineMergeDirectedEdge forming one of the lines that will
  * be output by the line-merging process.
  */
-class EdgeString {
+class GEOS_DLL EdgeString {
 private:
 	const geom::GeometryFactory *factory;
 	std::vector<LineMergeDirectedEdge*> *directedEdges;

Modified: trunk/source/headers/geos/operation/linemerge/LineMergeDirectedEdge.h
===================================================================
--- trunk/source/headers/geos/operation/linemerge/LineMergeDirectedEdge.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/linemerge/LineMergeDirectedEdge.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_LINEMERGE_LINEMERGEDIRECTEDEDGE_H
 #define GEOS_OP_LINEMERGE_LINEMERGEDIRECTEDEDGE_H
 
+#include <geos/export.h>
+
 #include <geos/planargraph/DirectedEdge.h> // for inheritance
 
 // Forward declarations 
@@ -39,7 +41,7 @@
  * A planargraph::DirectedEdge of a LineMergeGraph. 
  *
  */
-class LineMergeDirectedEdge: public planargraph::DirectedEdge {
+class GEOS_DLL LineMergeDirectedEdge: public planargraph::DirectedEdge {
 public:
 	/**
 	 * Constructs a LineMergeDirectedEdge connecting the <code>from</code>

Modified: trunk/source/headers/geos/operation/linemerge/LineMergeEdge.h
===================================================================
--- trunk/source/headers/geos/operation/linemerge/LineMergeEdge.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/linemerge/LineMergeEdge.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_LINEMERGE_LINEMERGEEDGE_H
 #define GEOS_OP_LINEMERGE_LINEMERGEEDGE_H
 
+#include <geos/export.h>
+
 #include <geos/planargraph/Edge.h> // for inheritance
 
 // Forward declarations 
@@ -34,7 +36,7 @@
  * An edge of a LineMergeGraph. The <code>marked</code> field indicates
  * whether this Edge has been logically deleted from the graph.
  */
-class LineMergeEdge: public planargraph::Edge {
+class GEOS_DLL LineMergeEdge: public planargraph::Edge {
 private:
 	const geom::LineString *line;
 public:

Modified: trunk/source/headers/geos/operation/linemerge/LineMergeGraph.h
===================================================================
--- trunk/source/headers/geos/operation/linemerge/LineMergeGraph.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/linemerge/LineMergeGraph.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_LINEMERGE_LINEMERGEGRAPH_H
 #define GEOS_OP_LINEMERGE_LINEMERGEGRAPH_H
 
+#include <geos/export.h>
+
 #include <geos/planargraph/PlanarGraph.h> // for inheritance
 
 #include <vector>
@@ -45,7 +47,7 @@
  * and planargraph::Node indicates whether they have been
  * logically deleted from the graph.
  */
-class LineMergeGraph: public planargraph::PlanarGraph {
+class GEOS_DLL LineMergeGraph: public planargraph::PlanarGraph {
 
 private:
 

Modified: trunk/source/headers/geos/operation/linemerge/LineMerger.h
===================================================================
--- trunk/source/headers/geos/operation/linemerge/LineMerger.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/linemerge/LineMerger.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_LINEMERGE_LINEMERGER_H
 #define GEOS_OP_LINEMERGE_LINEMERGER_H
 
+#include <geos/export.h>
+
 #include <geos/operation/linemerge/LineMergeGraph.h> // for composition
 
 #include <vector>
@@ -63,7 +65,7 @@
  * but will not form polygons from incorrected noded edges.
  *
  */
-class LineMerger {
+class GEOS_DLL LineMerger {
 
 private:
 

Modified: trunk/source/headers/geos/operation/linemerge/LineSequencer.h
===================================================================
--- trunk/source/headers/geos/operation/linemerge/LineSequencer.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/linemerge/LineSequencer.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_LINEMERGE_LINESEQUENCER_H
 #define GEOS_OP_LINEMERGE_LINESEQUENCER_H
 
+#include <geos/export.h>
+
 #include <geos/operation/linemerge/LineMergeGraph.h> // for composition
 #include <geos/geom/Geometry.h> // for inlines
 #include <geos/geom/LineString.h> // for inlines
@@ -79,7 +81,7 @@
  *
  * Last port: operation/linemerge/LineSequencer.java rev. 1.5 (JTS-1.7)
  */
-class LineSequencer {
+class GEOS_DLL LineSequencer {
 
 private:
 	typedef std::list<planargraph::DirectedEdge*> DirEdgeList;

Modified: trunk/source/headers/geos/operation/overlay/EdgeSetNoder.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/EdgeSetNoder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/EdgeSetNoder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_OVERLAY_EDGESETNODER_H
 #define GEOS_OP_OVERLAY_EDGESETNODER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // Forward declarations
@@ -39,7 +41,7 @@
  * new set of edges consisting of all the split edges created by
  * noding the input edges together
  */
-class EdgeSetNoder {
+class GEOS_DLL EdgeSetNoder {
 private:
 	algorithm::LineIntersector *li;
 	std::vector<geomgraph::Edge*>* inputEdges;

Modified: trunk/source/headers/geos/operation/overlay/ElevationMatrix.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/ElevationMatrix.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/ElevationMatrix.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_OVERLAY_ELEVATIONMATRIX_H
 #define GEOS_OP_OVERLAY_ELEVATIONMATRIX_H
 
+#include <geos/export.h>
+
 #include <vector>
 #include <string>
 
@@ -48,7 +50,7 @@
  * values to the matrix.
  * filter_rw is used to actually elevate Geometries.
  */
-class ElevationMatrixFilter: public geom::CoordinateFilter
+class GEOS_DLL ElevationMatrixFilter: public geom::CoordinateFilter
 {
 public:
 	ElevationMatrixFilter(ElevationMatrix &em);
@@ -63,7 +65,7 @@
 
 /*
  */
-class ElevationMatrix {
+class GEOS_DLL ElevationMatrix {
 friend class ElevationMatrixFilter;
 public:
 	ElevationMatrix(const geom::Envelope &extent, unsigned int rows,

Modified: trunk/source/headers/geos/operation/overlay/ElevationMatrixCell.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/ElevationMatrixCell.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/ElevationMatrixCell.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_OVERLAY_ELEVATIONMATRIXCELL_H
 #define GEOS_OP_OVERLAY_ELEVATIONMATRIXCELL_H
 
+#include <geos/export.h>
+
 #include <set>
 
 // Forward declarations
@@ -30,7 +32,7 @@
 namespace overlay { // geos::operation::overlay
 
 
-class ElevationMatrixCell {
+class GEOS_DLL ElevationMatrixCell {
 public:
 	ElevationMatrixCell();
 	~ElevationMatrixCell();

Modified: trunk/source/headers/geos/operation/overlay/LineBuilder.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/LineBuilder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/LineBuilder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_OVERLAY_LINEBUILDER_H
 #define GEOS_OP_OVERLAY_LINEBUILDER_H
 
+#include <geos/export.h>
+
 #include <geos/operation/overlay/OverlayOp.h> // for OverlayOp::OpCode enum 
 
 #include <vector>
@@ -50,7 +52,7 @@
  * created by an OverlayOp.
  *
  */
-class LineBuilder {
+class GEOS_DLL LineBuilder {
 
 public:
 

Modified: trunk/source/headers/geos/operation/overlay/MaximalEdgeRing.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/MaximalEdgeRing.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/MaximalEdgeRing.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_OVERLAY_MAXIMALEDGERING_H
 #define GEOS_OP_OVERLAY_MAXIMALEDGERING_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 #include <geos/geomgraph/EdgeRing.h> // for inheritance
@@ -64,7 +66,7 @@
  *
  * @see com.vividsolutions.jts.operation.overlay.MinimalEdgeRing
  */
-class MaximalEdgeRing: public geomgraph::EdgeRing {
+class GEOS_DLL MaximalEdgeRing: public geomgraph::EdgeRing {
 
 public:
 

Modified: trunk/source/headers/geos/operation/overlay/MinimalEdgeRing.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/MinimalEdgeRing.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/MinimalEdgeRing.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_OVERLAY_MINIMALEDGERING_H
 #define GEOS_OP_OVERLAY_MINIMALEDGERING_H
 
+#include <geos/export.h>
+
 #include <geos/geomgraph/EdgeRing.h> // for inheritance
 #include <geos/geomgraph/DirectedEdge.h> // for inlines
 
@@ -48,7 +50,7 @@
  * @see operation::overlay::MaximalEdgeRing
  *
  */
-class MinimalEdgeRing: public geomgraph::EdgeRing {
+class GEOS_DLL MinimalEdgeRing: public geomgraph::EdgeRing {
 
 public:
 

Modified: trunk/source/headers/geos/operation/overlay/OverlayNodeFactory.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/OverlayNodeFactory.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/OverlayNodeFactory.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_OVERLAY_OVERLAYNODEFACTORY_H
 #define GEOS_OP_OVERLAY_OVERLAYNODEFACTORY_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 #include <geos/geomgraph/NodeFactory.h> // for inheritance
@@ -38,7 +40,7 @@
  * Creates nodes for use in the geomgraph::PlanarGraph constructed during
  * overlay operations. NOTE: also used by operation::valid
  */
-class OverlayNodeFactory: public geomgraph::NodeFactory {
+class GEOS_DLL OverlayNodeFactory: public geomgraph::NodeFactory {
 public:
 	geomgraph::Node* createNode(const geom::Coordinate &coord) const;
 	static const geomgraph::NodeFactory &instance();

Modified: trunk/source/headers/geos/operation/overlay/OverlayOp.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/OverlayOp.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/OverlayOp.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_OVERLAY_OVERLAYOP_H
 #define GEOS_OP_OVERLAY_OVERLAYOP_H
 
+#include <geos/export.h>
+
 #include <geos/operation/GeometryGraphOperation.h> // for inheritance
 #include <geos/geomgraph/EdgeList.h> // for composition
 #include <geos/algorithm/PointLocator.h> // for composition
@@ -60,7 +62,7 @@
 /// The overlay can be used to determine any
 /// boolean combination of the geometries.
 ///
-class OverlayOp: public GeometryGraphOperation {
+class GEOS_DLL OverlayOp: public GeometryGraphOperation {
 
 public:
 

Modified: trunk/source/headers/geos/operation/overlay/PointBuilder.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/PointBuilder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/PointBuilder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_OVERLAY_POINTBUILDER_H
 #define GEOS_OP_OVERLAY_POINTBUILDER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/GeometryFactory.h> // for inlines
 #include <geos/operation/overlay/OverlayOp.h> // for OpCode enum
 #include <geos/util.h>
@@ -48,7 +50,7 @@
 /** \brief
  * Constructs geom::Point s from the nodes of an overlay graph.
  */
-class PointBuilder {
+class GEOS_DLL PointBuilder {
 private:
 
 	OverlayOp *op;

Modified: trunk/source/headers/geos/operation/overlay/PolygonBuilder.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/PolygonBuilder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/PolygonBuilder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,8 @@
 #ifndef GEOS_OP_OVERLAY_POLYGONBUILDER_H
 #define GEOS_OP_OVERLAY_POLYGONBUILDER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // Forward declarations
@@ -52,7 +54,7 @@
  *
  * The edges to use are marked as being in the result Area.
  */
-class PolygonBuilder {
+class GEOS_DLL PolygonBuilder {
 public:
 
 	PolygonBuilder(const geom::GeometryFactory *newGeometryFactory);

Modified: trunk/source/headers/geos/operation/overlay/snap/GeometrySnapper.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/snap/GeometrySnapper.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/snap/GeometrySnapper.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -44,7 +44,7 @@
  * Snaps the vertices and segments of a geometry to another's vertices.
  * Should improve robustness for overlay operations.
  */
-class GeometrySnapper {
+class GEOS_DLL GeometrySnapper {
 
 public:
 

Modified: trunk/source/headers/geos/operation/overlay/snap/LineStringSnapper.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/snap/LineStringSnapper.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/snap/LineStringSnapper.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -49,7 +49,7 @@
  * A snapping distance tolerance is used to control where snapping is performed.
  *
  */
-class LineStringSnapper {
+class GEOS_DLL LineStringSnapper {
 
 public:
 

Modified: trunk/source/headers/geos/operation/overlay/snap/SnapOverlayOp.h
===================================================================
--- trunk/source/headers/geos/operation/overlay/snap/SnapOverlayOp.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/overlay/snap/SnapOverlayOp.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -48,7 +48,7 @@
  * if the standard overlay code fails to produce a correct result.
  *
  */
-class SnapOverlayOp
+class GEOS_DLL SnapOverlayOp
 {
 
 public:

Modified: trunk/source/headers/geos/operation/polygonize/EdgeRing.h
===================================================================
--- trunk/source/headers/geos/operation/polygonize/EdgeRing.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/polygonize/EdgeRing.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_POLYGONIZE_EDGERING_H
 #define GEOS_OP_POLYGONIZE_EDGERING_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // Forward declarations
@@ -48,7 +50,7 @@
  * Represents a ring of PolygonizeDirectedEdge which form
  * a ring of a polygon.  The ring may be either an outer shell or a hole.
  */
-class EdgeRing {
+class GEOS_DLL EdgeRing {
 private:
 	const geom::GeometryFactory *factory; 
 	std::vector<const planargraph::DirectedEdge*> *deList;

Modified: trunk/source/headers/geos/operation/polygonize/PolygonizeDirectedEdge.h
===================================================================
--- trunk/source/headers/geos/operation/polygonize/PolygonizeDirectedEdge.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/polygonize/PolygonizeDirectedEdge.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -18,6 +18,8 @@
 #ifndef GEOS_OP_POLYGONIZE_POLYGONIZEDIRECTEDEDGE_H
 #define GEOS_OP_POLYGONIZE_POLYGONIZEDIRECTEDEDGE_H
 
+#include <geos/export.h>
+
 #include <geos/planargraph/DirectedEdge.h> // for inheritance
 
 // Forward declarations
@@ -46,7 +48,7 @@
  * May be logically deleted from the graph by setting the
  * <code>marked</code> flag.
  */
-class PolygonizeDirectedEdge: public planargraph::DirectedEdge {
+class GEOS_DLL PolygonizeDirectedEdge: public planargraph::DirectedEdge {
 
 private:
 

Modified: trunk/source/headers/geos/operation/polygonize/PolygonizeEdge.h
===================================================================
--- trunk/source/headers/geos/operation/polygonize/PolygonizeEdge.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/polygonize/PolygonizeEdge.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -18,6 +18,8 @@
 #ifndef GEOS_OP_POLYGONIZE_POLYGONIZEEDGE_H
 #define GEOS_OP_POLYGONIZE_POLYGONIZEEDGE_H
 
+#include <geos/export.h>
+
 #include <geos/planargraph/Edge.h> // for inheritance
 
 // Forward declarations
@@ -36,7 +38,7 @@
  *
  * @version 1.4
  */
-class PolygonizeEdge: public planargraph::Edge {
+class GEOS_DLL PolygonizeEdge: public planargraph::Edge {
 private:
 	const geom::LineString *line;
 public:

Modified: trunk/source/headers/geos/operation/polygonize/PolygonizeGraph.h
===================================================================
--- trunk/source/headers/geos/operation/polygonize/PolygonizeGraph.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/polygonize/PolygonizeGraph.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -18,6 +18,8 @@
 #ifndef GEOS_OP_POLYGONIZE_POLYGONIZEGRAPH_H
 #define GEOS_OP_POLYGONIZE_POLYGONIZEGRAPH_H
 
+#include <geos/export.h>
+
 #include <geos/planargraph/PlanarGraph.h> // for inheritance
 
 #include <vector>
@@ -57,7 +59,7 @@
  * has be logically deleted from the graph.
  *
  */
-class PolygonizeGraph: public planargraph::PlanarGraph {
+class GEOS_DLL PolygonizeGraph: public planargraph::PlanarGraph {
 
 public:
 

Modified: trunk/source/headers/geos/operation/polygonize/Polygonizer.h
===================================================================
--- trunk/source/headers/geos/operation/polygonize/Polygonizer.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/polygonize/Polygonizer.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -18,6 +18,8 @@
 #ifndef GEOS_OP_POLYGONIZE_POLYGONIZER_H
 #define GEOS_OP_POLYGONIZE_POLYGONIZER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/GeometryComponentFilter.h> // for LineStringAdder inheritance
 
 #include <vector>
@@ -61,7 +63,7 @@
  *   (e.g. the component lines contain a self-intersection)
  *
  */
-class Polygonizer {
+class GEOS_DLL Polygonizer {
 private:
 	/**
 	 * Add every linear element in a geometry into the polygonizer graph.

Modified: trunk/source/headers/geos/operation/predicate/RectangleContains.h
===================================================================
--- trunk/source/headers/geos/operation/predicate/RectangleContains.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/predicate/RectangleContains.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_PREDICATE_RECTANGLECONTAINS_H
 #define GEOS_OP_PREDICATE_RECTANGLECONTAINS_H
 
+#include <geos/export.h>
+
 #include <geos/geom/Polygon.h> // for inlines
 
 // Forward declarations
@@ -44,7 +46,7 @@
  *
  * Last port: operation/predicate/RectangleContains.java rev 1.1 (JTS-1.7)
  */
-class RectangleContains {
+class GEOS_DLL RectangleContains {
 
 private:
 

Modified: trunk/source/headers/geos/operation/predicate/RectangleIntersects.h
===================================================================
--- trunk/source/headers/geos/operation/predicate/RectangleIntersects.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/predicate/RectangleIntersects.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_PREDICATE_RECTANGLEINTERSECTS_H
 #define GEOS_OP_PREDICATE_RECTANGLEINTERSECTS_H
 
+#include <geos/export.h>
+
 #include <geos/geom/Polygon.h> // for inlines
 
 // Forward declarations
@@ -40,7 +42,7 @@
  *
  * Last port: operation/predicate/RectangleIntersects.java rev. 1.3 (JTS-1.7)
  */
-class RectangleIntersects {
+class GEOS_DLL RectangleIntersects {
 
 private:
 

Modified: trunk/source/headers/geos/operation/predicate/SegmentIntersectionTester.h
===================================================================
--- trunk/source/headers/geos/operation/predicate/SegmentIntersectionTester.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/predicate/SegmentIntersectionTester.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_OP_PREDICATE_SEGMENTINTERSECTIONTESTER_H
 #define GEOS_OP_PREDICATE_SEGMENTINTERSECTIONTESTER_H
 
+#include <geos/export.h>
+
 #include <geos/algorithm/LineIntersector.h> // for composition
 
 // Forward declarations
@@ -40,7 +42,7 @@
  * (JTS-1.7)
  *
  */
-class SegmentIntersectionTester {
+class GEOS_DLL SegmentIntersectionTester {
 
 private:
 

Modified: trunk/source/headers/geos/operation/relate/EdgeEndBuilder.h
===================================================================
--- trunk/source/headers/geos/operation/relate/EdgeEndBuilder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/relate/EdgeEndBuilder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_RELATE_EDGEENDBUILDER_H
 #define GEOS_OP_RELATE_EDGEENDBUILDER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // Forward declarations
@@ -46,7 +48,7 @@
  * Computes the geomgraph::EdgeEnd objects which arise
  * from a noded geomgraph::Edge.
  */
-class EdgeEndBuilder {
+class GEOS_DLL EdgeEndBuilder {
 public:
 	EdgeEndBuilder() {}
 

Modified: trunk/source/headers/geos/operation/relate/EdgeEndBundle.h
===================================================================
--- trunk/source/headers/geos/operation/relate/EdgeEndBundle.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/relate/EdgeEndBundle.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_RELATE_EDGEENDBUNDLE_H
 #define GEOS_OP_RELATE_EDGEENDBUNDLE_H
 
+#include <geos/export.h>
+
 #include <geos/geomgraph/EdgeEnd.h> // for EdgeEndBundle inheritance
 
 #include <string>
@@ -45,7 +47,7 @@
  * A collection of geomgraph::EdgeEnd objects which
  * originate at the same point and have the same direction.
  */
-class EdgeEndBundle: public geomgraph::EdgeEnd
+class GEOS_DLL EdgeEndBundle: public geomgraph::EdgeEnd 
 {
 public:
 	EdgeEndBundle(geomgraph::EdgeEnd *e);

Modified: trunk/source/headers/geos/operation/relate/EdgeEndBundleStar.h
===================================================================
--- trunk/source/headers/geos/operation/relate/EdgeEndBundleStar.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/relate/EdgeEndBundleStar.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_RELATE_EDGEENDBUNDLESTAR_H
 #define GEOS_OP_RELATE_EDGEENDBUNDLESTAR_H
 
+#include <geos/export.h>
+
 #include <geos/geomgraph/EdgeEndStar.h> // for EdgeEndBundleStar inheritance
 
 // Forward declarations
@@ -46,7 +48,7 @@
  * around the node
  * for efficient lookup and topology building.
  */
-class EdgeEndBundleStar: public geomgraph::EdgeEndStar {
+class GEOS_DLL EdgeEndBundleStar: public geomgraph::EdgeEndStar {
 public:
 
 	/// Creates a new empty EdgeEndBundleStar

Modified: trunk/source/headers/geos/operation/relate/RelateComputer.h
===================================================================
--- trunk/source/headers/geos/operation/relate/RelateComputer.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/relate/RelateComputer.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_RELATE_RELATECOMPUTER_H
 #define GEOS_OP_RELATE_RELATECOMPUTER_H
 
+#include <geos/export.h>
+
 #include <geos/algorithm/PointLocator.h> // for RelateComputer composition
 #include <geos/algorithm/LineIntersector.h> // for RelateComputer composition
 #include <geos/geomgraph/NodeMap.h> // for RelateComputer composition
@@ -65,7 +67,7 @@
  * implicitly).
  *
  */
-class RelateComputer {
+class GEOS_DLL RelateComputer {
 public:
 	//RelateComputer();
 	virtual ~RelateComputer();

Modified: trunk/source/headers/geos/operation/relate/RelateNode.h
===================================================================
--- trunk/source/headers/geos/operation/relate/RelateNode.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/relate/RelateNode.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_RELATE_RELATENODE_H
 #define GEOS_OP_RELATE_RELATENODE_H
 
+#include <geos/export.h>
+
 #include <geos/geomgraph/Node.h> // for inheritance
 
 // Forward declarations
@@ -44,7 +46,7 @@
  * Represents a node in the topological graph used to compute spatial
  * relationships.
  */
-class RelateNode: public geomgraph::Node {
+class GEOS_DLL RelateNode: public geomgraph::Node {
 
 public:
 

Modified: trunk/source/headers/geos/operation/relate/RelateNodeFactory.h
===================================================================
--- trunk/source/headers/geos/operation/relate/RelateNodeFactory.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/relate/RelateNodeFactory.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_RELATE_RELATENODEFACTORY_H
 #define GEOS_OP_RELATE_RELATENODEFACTORY_H
 
+#include <geos/export.h>
+
 #include <geos/geomgraph/NodeFactory.h> // for RelateNodeFactory inheritance
 
 // Forward declarations
@@ -42,7 +44,7 @@
 /** \brief
  * Used by the geomgraph::NodeMap in a RelateNodeGraph to create RelateNode objects.
  */
-class RelateNodeFactory: public geomgraph::NodeFactory {
+class GEOS_DLL RelateNodeFactory: public geomgraph::NodeFactory {
 public:
 	geomgraph::Node* createNode(const geom::Coordinate &coord) const;
 	static const geomgraph::NodeFactory &instance();

Modified: trunk/source/headers/geos/operation/relate/RelateNodeGraph.h
===================================================================
--- trunk/source/headers/geos/operation/relate/RelateNodeGraph.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/relate/RelateNodeGraph.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_RELATE_RELATENODEGRAPH_H
 #define GEOS_OP_RELATE_RELATENODEGRAPH_H
 
+#include <geos/export.h>
+
 #include <map>
 #include <vector>
 
@@ -66,7 +68,7 @@
  * to represent them.
  *
  */
-class RelateNodeGraph {
+class GEOS_DLL RelateNodeGraph {
 
 public:
 

Modified: trunk/source/headers/geos/operation/relate/RelateOp.h
===================================================================
--- trunk/source/headers/geos/operation/relate/RelateOp.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/relate/RelateOp.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,8 @@
 #ifndef GEOS_OP_RELATE_RELATEOP_H
 #define GEOS_OP_RELATE_RELATEOP_H
 
+#include <geos/export.h>
+
 #include <geos/operation/GeometryGraphOperation.h> // for inheritance
 #include <geos/operation/relate/RelateComputer.h> // for composition
 
@@ -55,7 +57,7 @@
  * a custom Boundary Node Rule.
  *
  */
-class RelateOp: public GeometryGraphOperation {
+class GEOS_DLL RelateOp: public GeometryGraphOperation {
 
 public:
 

Modified: trunk/source/headers/geos/operation/valid/ConnectedInteriorTester.h
===================================================================
--- trunk/source/headers/geos/operation/valid/ConnectedInteriorTester.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/valid/ConnectedInteriorTester.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_OP_CONNECTEDINTERIORTESTER_H
 #define GEOS_OP_CONNECTEDINTERIORTESTER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/Coordinate.h> // for composition
 
 #include <vector>
@@ -57,7 +59,7 @@
  * If an inconsistency if found the location of the problem
  * is recorded.
  */
-class ConnectedInteriorTester {
+class GEOS_DLL ConnectedInteriorTester {
 public:
 	ConnectedInteriorTester(geomgraph::GeometryGraph &newGeomGraph);
 	~ConnectedInteriorTester();

Modified: trunk/source/headers/geos/operation/valid/ConsistentAreaTester.h
===================================================================
--- trunk/source/headers/geos/operation/valid/ConsistentAreaTester.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/valid/ConsistentAreaTester.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -23,6 +23,8 @@
 #ifndef GEOS_OP_CONSISTENTAREATESTER_H
 #define GEOS_OP_CONSISTENTAREATESTER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/Coordinate.h> // for composition
 #include <geos/algorithm/LineIntersector.h> // for composition
 #include <geos/operation/relate/RelateNodeGraph.h> // for composition
@@ -81,7 +83,7 @@
  * is recorded and is available to the caller.
  *
  */
-class ConsistentAreaTester {
+class GEOS_DLL ConsistentAreaTester {
 private:
 
 	algorithm::LineIntersector li;

Modified: trunk/source/headers/geos/operation/valid/IsValidOp.h
===================================================================
--- trunk/source/headers/geos/operation/valid/IsValidOp.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/valid/IsValidOp.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -21,6 +21,8 @@
 #ifndef GEOS_OP_ISVALIDOP_H
 #define GEOS_OP_ISVALIDOP_H
 
+#include <geos/export.h>
+
 #include <geos/operation/valid/TopologyValidationError.h> // for inlined destructor
 
 // Forward declarations
@@ -56,7 +58,7 @@
  * Implements the algorithsm required to compute the <code>isValid()</code>
  * method for {@link Geometry}s.
  */
-class IsValidOp {
+class GEOS_DLL IsValidOp {
 friend class Unload;
 private:
 	/// the base Geometry to be validated

Modified: trunk/source/headers/geos/operation/valid/QuadtreeNestedRingTester.h
===================================================================
--- trunk/source/headers/geos/operation/valid/QuadtreeNestedRingTester.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/valid/QuadtreeNestedRingTester.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_OP_QUADTREENESTEDRINGTESTER_H
 #define GEOS_OP_QUADTREENESTEDRINGTESTER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/Envelope.h> // for composition
 
 #include <vector>
@@ -47,7 +49,7 @@
  * index to speed up the comparisons.
  *
  */
-class QuadtreeNestedRingTester {
+class GEOS_DLL QuadtreeNestedRingTester {
 public:
 
 	/// Caller retains ownership of GeometryGraph

Modified: trunk/source/headers/geos/operation/valid/RepeatedPointTester.h
===================================================================
--- trunk/source/headers/geos/operation/valid/RepeatedPointTester.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/valid/RepeatedPointTester.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_OP_REPEATEDPOINTTESTER_H
 #define GEOS_OP_REPEATEDPOINTTESTER_H
 
+#include <geos/export.h>
+
 #include <geos/geom/Coordinate.h> // for composition
 
 // Forward declarations
@@ -41,7 +43,7 @@
  * (consecutive identical coordinates) as defined in the
  * JTS spec.
  */
-class RepeatedPointTester {
+class GEOS_DLL RepeatedPointTester {
 public:
 	RepeatedPointTester() {};
 	geom::Coordinate& getCoordinate();

Modified: trunk/source/headers/geos/operation/valid/SimpleNestedRingTester.h
===================================================================
--- trunk/source/headers/geos/operation/valid/SimpleNestedRingTester.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/valid/SimpleNestedRingTester.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_OP_SIMPLENESTEDRINGTESTER_H
 #define GEOS_OP_SIMPLENESTEDRINGTESTER_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // Forward declarations
@@ -40,7 +42,7 @@
  * comparison.
  *
  */
-class SimpleNestedRingTester {
+class GEOS_DLL SimpleNestedRingTester {
 private:
 	geomgraph::GeometryGraph *graph;  // used to find non-node vertices
 	std::vector<geom::LinearRing*> rings;

Modified: trunk/source/headers/geos/operation/valid/SweeplineNestedRingTester.h
===================================================================
--- trunk/source/headers/geos/operation/valid/SweeplineNestedRingTester.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/valid/SweeplineNestedRingTester.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_OP_SWEEPLINENESTEDRINGTESTER_H
 #define GEOS_OP_SWEEPLINENESTEDRINGTESTER_H
 
+#include <geos/export.h>
 #include <vector>
 
 #include <geos/geom/Envelope.h> // for inline
@@ -50,7 +51,7 @@
  * nested inside another ring in the set, using an
  * index::sweepline::SweepLineIndex to speed up the comparisons.
  */
-class SweeplineNestedRingTester {
+class GEOS_DLL SweeplineNestedRingTester {
 
 private:
 	geomgraph::GeometryGraph *graph;  // used to find non-node vertices

Modified: trunk/source/headers/geos/operation/valid/TopologyValidationError.h
===================================================================
--- trunk/source/headers/geos/operation/valid/TopologyValidationError.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/operation/valid/TopologyValidationError.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_OP_TOPOLOGYVALIDATIONERROR_H
 #define GEOS_OP_TOPOLOGYVALIDATIONERROR_H
 
+#include <geos/export.h>
 #include <string>
 
 #include <geos/geom/Coordinate.h> // for composition
@@ -33,7 +34,7 @@
  * validation error
  *
  */
-class TopologyValidationError {
+class GEOS_DLL TopologyValidationError {
 public:
 
 	enum errorEnum {

Modified: trunk/source/headers/geos/planargraph/DirectedEdge.h
===================================================================
--- trunk/source/headers/geos/planargraph/DirectedEdge.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/planargraph/DirectedEdge.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_PLANARGRAPH_DIRECTEDEDGE_H
 #define GEOS_PLANARGRAPH_DIRECTEDEDGE_H
 
+#include <geos/export.h>
 #include <geos/planargraph/GraphComponent.h> // for inheritance
 #include <geos/geom/Coordinate.h> // for composition
 
@@ -43,7 +44,7 @@
  * will subclass DirectedEdge to add its own application-specific
  * data and methods.
  */
-class DirectedEdge: public GraphComponent {
+class GEOS_DLL DirectedEdge: public GraphComponent {
 
 public:
 

Modified: trunk/source/headers/geos/planargraph/DirectedEdgeStar.h
===================================================================
--- trunk/source/headers/geos/planargraph/DirectedEdgeStar.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/planargraph/DirectedEdgeStar.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
 #define GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
 
+#include <geos/export.h>
+
 #include <vector>
 
 // Forward declarations
@@ -34,7 +36,7 @@
 namespace planargraph { // geos.planargraph
 
 /// A sorted collection of DirectedEdge which leave a Node in a PlanarGraph.
-class DirectedEdgeStar {
+class GEOS_DLL DirectedEdgeStar {
 protected:
 
 private:

Modified: trunk/source/headers/geos/planargraph/Edge.h
===================================================================
--- trunk/source/headers/geos/planargraph/Edge.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/planargraph/Edge.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_PLANARGRAPH_EDGE_H
 #define GEOS_PLANARGRAPH_EDGE_H
 
+#include <geos/export.h>
+
 #include <geos/planargraph/GraphComponent.h> // for inheritance
 
 #include <vector> // for typedefs
@@ -45,7 +47,7 @@
  * Usually a client using a PlanarGraph will subclass Edge
  * to add its own application-specific data and methods.
  */
-class Edge: public GraphComponent {
+class GEOS_DLL Edge: public GraphComponent {
 
 public:
 

Modified: trunk/source/headers/geos/planargraph/GraphComponent.h
===================================================================
--- trunk/source/headers/geos/planargraph/GraphComponent.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/planargraph/GraphComponent.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_PLANARGRAPH_GRAPHCOMPONENT_H
 #define GEOS_PLANARGRAPH_GRAPHCOMPONENT_H
 
+#include <geos/export.h>
+
 namespace geos {
 namespace planargraph { // geos.planargraph
 
@@ -40,7 +42,7 @@
  * Last port: planargraph/GraphComponent.java rev. 1.7 (JTS-1.7)
  *
  */
-class GraphComponent {
+class GEOS_DLL GraphComponent {
 
 protected:
 

Modified: trunk/source/headers/geos/planargraph/Node.h
===================================================================
--- trunk/source/headers/geos/planargraph/Node.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/planargraph/Node.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_PLANARGRAPH_NODE_H
 #define GEOS_PLANARGRAPH_NODE_H
 
+#include <geos/export.h>
+
 #include <geos/planargraph/GraphComponent.h> // for inheritance
 #include <geos/planargraph/DirectedEdgeStar.h> // for inlines
 #include <geos/geom/Coordinate.h> // for composition
@@ -41,7 +43,7 @@
  * data and methods.
  *
  */
-class Node: public GraphComponent {
+class GEOS_DLL Node: public GraphComponent {
 protected:
 
 	/// The location of this Node 

Modified: trunk/source/headers/geos/planargraph/NodeMap.h
===================================================================
--- trunk/source/headers/geos/planargraph/NodeMap.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/planargraph/NodeMap.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_PLANARGRAPH_NODEMAP_H
 #define GEOS_PLANARGRAPH_NODEMAP_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h> // for use in container
 
 #include <map>
@@ -40,7 +41,7 @@
  * A map of Node, indexed by the coordinate of the node.
  *
  */
-class NodeMap {
+class GEOS_DLL NodeMap {
 public:
 	typedef std::map<geom::Coordinate, Node*, geom::CoordinateLessThen> container;
 private:

Modified: trunk/source/headers/geos/planargraph/PlanarGraph.h
===================================================================
--- trunk/source/headers/geos/planargraph/PlanarGraph.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/planargraph/PlanarGraph.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_PLANARGRAPH_PLANARGRAPH_H
 #define GEOS_PLANARGRAPH_PLANARGRAPH_H
 
+#include <geos/export.h>
 #include <geos/planargraph/NodeMap.h> // for composition
 
 #include <vector> // for typedefs
@@ -48,7 +49,7 @@
  * framework will almost always provide subclasses for one or more graph
  * components, which hold application-specific data and graph algorithms.
  */
-class PlanarGraph {
+class GEOS_DLL PlanarGraph {
 
 protected:
 

Modified: trunk/source/headers/geos/planargraph/Subgraph.h
===================================================================
--- trunk/source/headers/geos/planargraph/Subgraph.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/planargraph/Subgraph.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_PLANARGRAPH_SUBGRAPH_H
 #define GEOS_PLANARGRAPH_SUBGRAPH_H
 
+#include <geos/export.h>
 #include <geos/planargraph/NodeMap.h> // for composition
 
 #include <vector> 
@@ -45,7 +46,7 @@
 /// @@ Actually we'll be copying Coordinates in NodeMap.
 /// I guess that'll need to be changed soon.
 ///
-class Subgraph
+class GEOS_DLL Subgraph
 {
 protected:
 	PlanarGraph &parentGraph;

Modified: trunk/source/headers/geos/planargraph/algorithm/ConnectedSubgraphFinder.h
===================================================================
--- trunk/source/headers/geos/planargraph/algorithm/ConnectedSubgraphFinder.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/planargraph/algorithm/ConnectedSubgraphFinder.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_PLANARGRAPH_ALGO_CONNECTEDSUBGRAPHFINDER_H
 #define GEOS_PLANARGRAPH_ALGO_CONNECTEDSUBGRAPHFINDER_H
 
+#include <geos/export.h>
 #include <geos/planargraph/PlanarGraph.h> // for inlines
 
 #include <stack>
@@ -40,7 +41,7 @@
  * 
  * <b>Note:</b> uses the <code>isVisited</code> flag on the nodes.
  */
-class ConnectedSubgraphFinder
+class GEOS_DLL ConnectedSubgraphFinder
 {
 private:
 	PlanarGraph& graph;

Modified: trunk/source/headers/geos/precision/CommonBits.h
===================================================================
--- trunk/source/headers/geos/precision/CommonBits.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/precision/CommonBits.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_PRECISION_COMMONBITS_H
 #define GEOS_PRECISION_COMMONBITS_H
 
+#include <geos/export.h>
 #include <geos/platform.h> // for int64
 
 namespace geos {
@@ -30,7 +31,7 @@
  * If there are no common bits, the number computed is 0.0.
  *
  */
-class CommonBits {
+class GEOS_DLL CommonBits {
 
 private:
 

Modified: trunk/source/headers/geos/precision/CommonBitsOp.h
===================================================================
--- trunk/source/headers/geos/precision/CommonBitsOp.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/precision/CommonBitsOp.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_PRECISION_COMMONBITSOP_H
 #define GEOS_PRECISION_COMMONBITSOP_H
 
+#include <geos/export.h>
 #include <geos/precision/CommonBitsRemover.h> // for auto_ptr composition
 
 #include <vector>
@@ -42,7 +43,7 @@
  * that the returned Geometry is invalid.
  * Client classes should check the validity of the returned result themselves.
  */
-class CommonBitsOp {
+class GEOS_DLL CommonBitsOp {
 
 private:
 

Modified: trunk/source/headers/geos/precision/CommonBitsRemover.h
===================================================================
--- trunk/source/headers/geos/precision/CommonBitsRemover.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/precision/CommonBitsRemover.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_PRECISION_COMMONBITSREMOVER_H
 #define GEOS_PRECISION_COMMONBITSREMOVER_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h> // for composition
 
 // Forward declarations
@@ -37,7 +38,7 @@
  * more Geometries.
  *
  */
-class CommonBitsRemover {
+class GEOS_DLL CommonBitsRemover {
 
 private:
 

Modified: trunk/source/headers/geos/precision/EnhancedPrecisionOp.h
===================================================================
--- trunk/source/headers/geos/precision/EnhancedPrecisionOp.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/precision/EnhancedPrecisionOp.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef GEOS_PRECISION_ENHANCEDPRECISIONOP_H
 #define GEOS_PRECISION_ENHANCEDPRECISIONOP_H
 
+#include <geos/export.h>
 #include <geos/platform.h> // for int64
 
 // Forward declarations
@@ -37,7 +38,7 @@
  * enhanced precision techniques to reduce the likelihood of robustness
  * problems.
  */
-class EnhancedPrecisionOp {
+class GEOS_DLL EnhancedPrecisionOp {
 
 public:
 

Modified: trunk/source/headers/geos/precision/SimpleGeometryPrecisionReducer.h
===================================================================
--- trunk/source/headers/geos/precision/SimpleGeometryPrecisionReducer.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/precision/SimpleGeometryPrecisionReducer.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,7 @@
 #ifndef GEOS_PRECISION_SIMPLEGEOMETRYPRECISIONREDUCER_H
 #define GEOS_PRECISION_SIMPLEGEOMETRYPRECISIONREDUCER_H
 
+#include <geos/export.h>
 
 // Forward declarations
 namespace geos {
@@ -41,7 +42,7 @@
  * The buffer algorithm does not depend on the validity of the input geometry.
  *
  */
-class SimpleGeometryPrecisionReducer {
+class GEOS_DLL SimpleGeometryPrecisionReducer {
 
 private:
 

Modified: trunk/source/headers/geos/profiler.h
===================================================================
--- trunk/source/headers/geos/profiler.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/profiler.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -16,6 +16,8 @@
 #ifndef GEOS_PROFILER_H
 #define GEOS_PROFILER_H
 
+#include <geos/export.h>
+
 /* For MingW builds with __STRICT_ANSI__ (-ansi) */
 #if defined(__MINGW32__)
 /* Allow us to check for presence of gettimeofday in MingW */ 
@@ -55,7 +57,7 @@
  *
  * \brief Profile statistics
  */
-class Profile {
+class GEOS_DLL Profile {
 public:
 	/** \brief Create a named profile */
 	Profile(std::string name);
@@ -133,7 +135,7 @@
  * \brief Profiling class
  *
  */
-class Profiler {
+class GEOS_DLL Profiler {
 
 public:
 

Modified: trunk/source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h
===================================================================
--- trunk/source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef _GEOS_SIMPLIFY_DOUBGLASPEUCKERLINESIMPLIFIER_H_
 #define _GEOS_SIMPLIFY_DOUBGLASPEUCKERLINESIMPLIFIER_H_ 
 
+#include <geos/export.h>
 #include <vector>
 #include <memory> // for auto_ptr
 
@@ -37,7 +38,7 @@
  * Simplifies a linestring (sequence of points) using
  * the standard Douglas-Peucker algorithm.
  */
-class DouglasPeuckerLineSimplifier {
+class GEOS_DLL DouglasPeuckerLineSimplifier {
 
 public:
 

Modified: trunk/source/headers/geos/simplify/DouglasPeuckerSimplifier.h
===================================================================
--- trunk/source/headers/geos/simplify/DouglasPeuckerSimplifier.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/simplify/DouglasPeuckerSimplifier.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -20,6 +20,7 @@
 #ifndef _GEOS_SIMPLIFY_DOUBGLASPEUCKERSIMPLIFIER_H_
 #define _GEOS_SIMPLIFY_DOUBGLASPEUCKERSIMPLIFIER_H_ 
 
+#include <geos/export.h>
 #include <memory> // for auto_ptr
 
 // Forward declarations
@@ -47,7 +48,7 @@
  * (However, using D-P is significantly faster).
  *
  */
-class DouglasPeuckerSimplifier {
+class GEOS_DLL DouglasPeuckerSimplifier {
 
 public:
 

Modified: trunk/source/headers/geos/simplify/LineSegmentIndex.h
===================================================================
--- trunk/source/headers/geos/simplify/LineSegmentIndex.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/simplify/LineSegmentIndex.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef _GEOS_SIMPLIFY_LINESEGMENTINDEX_H_
 #define _GEOS_SIMPLIFY_LINESEGMENTINDEX_H_ 
 
+#include <geos/export.h>
 #include <vector>
 #include <memory> // for auto_ptr
 
@@ -46,7 +47,7 @@
 namespace geos {
 namespace simplify { // geos::simplify
 
-class LineSegmentIndex {
+class GEOS_DLL LineSegmentIndex {
 
 public:
 

Modified: trunk/source/headers/geos/simplify/TaggedLineSegment.h
===================================================================
--- trunk/source/headers/geos/simplify/TaggedLineSegment.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/simplify/TaggedLineSegment.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -30,6 +30,7 @@
 #ifndef _GEOS_SIMPLIFY_TAGGEDLINESEGMENT_H_
 #define _GEOS_SIMPLIFY_TAGGEDLINESEGMENT_H_ 
 
+#include <geos/export.h>
 #include <geos/geom/LineSegment.h> // for inheritance
 
 
@@ -51,7 +52,7 @@
  * Used to index the segments in a geometry and recover the segment locations
  * from the index.
  */
-class TaggedLineSegment: public geom::LineSegment
+class GEOS_DLL TaggedLineSegment: public geom::LineSegment
 {
 
 public:

Modified: trunk/source/headers/geos/simplify/TaggedLineString.h
===================================================================
--- trunk/source/headers/geos/simplify/TaggedLineString.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/simplify/TaggedLineString.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -26,6 +26,7 @@
 #ifndef _GEOS_SIMPLIFY_TAGGEDLINESTRING_H_
 #define _GEOS_SIMPLIFY_TAGGEDLINESTRING_H_ 
 
+#include <geos/export.h>
 #include <vector>
 #include <memory>
 
@@ -52,7 +53,7 @@
  * Contains and owns a list of TaggedLineSegments
  *
  */
-class TaggedLineString {
+class GEOS_DLL TaggedLineString {
 
 public:
 

Modified: trunk/source/headers/geos/simplify/TaggedLineStringSimplifier.h
===================================================================
--- trunk/source/headers/geos/simplify/TaggedLineStringSimplifier.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/simplify/TaggedLineStringSimplifier.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -25,6 +25,7 @@
 #ifndef _GEOS_SIMPLIFY_TAGGEDLINESTRINGSIMPLIFIER_H_
 #define _GEOS_SIMPLIFY_TAGGEDLINESTRINGSIMPLIFIER_H_ 
 
+#include <geos/export.h>
 #include <vector>
 #include <memory>
 
@@ -54,7 +55,7 @@
  * Uses the recursive Douglas-Peucker algorithm.
  *
  */
-class TaggedLineStringSimplifier {
+class GEOS_DLL TaggedLineStringSimplifier {
 
 public:
 

Modified: trunk/source/headers/geos/simplify/TaggedLinesSimplifier.h
===================================================================
--- trunk/source/headers/geos/simplify/TaggedLinesSimplifier.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/simplify/TaggedLinesSimplifier.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -27,6 +27,7 @@
 #ifndef _GEOS_SIMPLIFY_TAGGEDLINESSIMPLIFIER_H_
 #define _GEOS_SIMPLIFY_TAGGEDLINESSIMPLIFIER_H_ 
 
+#include <geos/export.h>
 #include <vector>
 #include <memory>
 #include <cassert>
@@ -49,7 +50,7 @@
  * Simplifies a collection of TaggedLineStrings, preserving topology
  * (in the sense that no new intersections are introduced).
  */
-class TaggedLinesSimplifier {
+class GEOS_DLL TaggedLinesSimplifier {
 
 public:
 

Modified: trunk/source/headers/geos/simplify/TopologyPreservingSimplifier.h
===================================================================
--- trunk/source/headers/geos/simplify/TopologyPreservingSimplifier.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/simplify/TopologyPreservingSimplifier.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -24,6 +24,7 @@
 #ifndef _GEOS_SIMPLIFY_TOPOLOGYPRESERVINGSIMPLIFIER_H_
 #define _GEOS_SIMPLIFY_TOPOLOGYPRESERVINGSIMPLIFIER_H_ 
 
+#include <geos/export.h>
 #include <memory> // for auto_ptr
 #include <map> 
 
@@ -58,7 +59,7 @@
  *     (although they may touch at fewer points)
  *
  */
-class TopologyPreservingSimplifier
+class GEOS_DLL TopologyPreservingSimplifier
 {
 
 public:

Modified: trunk/source/headers/geos/unload.h
===================================================================
--- trunk/source/headers/geos/unload.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/unload.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -29,6 +29,7 @@
  *
  **********************************************************************/
 
+#include <geos/export.h>
 
 #ifndef GEOS_UNLOAD_H
 #define GEOS_UNLOAD_H
@@ -36,7 +37,7 @@
 namespace geos {
 namespace io {
 
-class Unload
+class GEOS_DLL Unload
 {
 private:
 	Unload(void) {}

Modified: trunk/source/headers/geos/util/Assert.h
===================================================================
--- trunk/source/headers/geos/util/Assert.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/util/Assert.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_UTIL_ASSERT_H
 #define GEOS_UTIL_ASSERT_H
 
+#include <geos/export.h>
 #include <string>
 
 // Forward declarations
@@ -29,7 +30,7 @@
 namespace geos {
 namespace util { // geos.util
 
-class Assert {
+class GEOS_DLL Assert {
 public:
 
 	static void isTrue(bool assertion, const std::string& message);

Modified: trunk/source/headers/geos/util/AssertionFailedException.h
===================================================================
--- trunk/source/headers/geos/util/AssertionFailedException.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/util/AssertionFailedException.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_UTIL_ASSERTIONFAILEDEXCEPTION_H
 #define GEOS_UTIL_ASSERTIONFAILEDEXCEPTION_H
 
+#include <geos/export.h>
 #include <string>
 
 #include <geos/util/GEOSException.h>
@@ -27,7 +28,7 @@
 /** \class AssertionFailedException util.h geos.h
  * \brief Indicates a bug in GEOS code.
  */
-class AssertionFailedException: public GEOSException {
+class GEOS_DLL AssertionFailedException: public GEOSException {
 
 public:
 

Modified: trunk/source/headers/geos/util/CoordinateArrayFilter.h
===================================================================
--- trunk/source/headers/geos/util/CoordinateArrayFilter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/util/CoordinateArrayFilter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_UTIL_COORDINATEARRAYFILTER_H
 #define GEOS_UTIL_COORDINATEARRAYFILTER_H
 
+#include <geos/export.h>
 #include <cassert>
 
 #include <geos/geom/CoordinateFilter.h>
@@ -33,7 +34,7 @@
  *
  * Last port: util/CoordinateArrayFilter.java rev. 1.15
  */
-class CoordinateArrayFilter: public geom::CoordinateFilter {
+class GEOS_DLL CoordinateArrayFilter: public geom::CoordinateFilter {
 private:
 	geom::Coordinate::ConstVect &pts; // target vector reference
 public:

Modified: trunk/source/headers/geos/util/GEOSException.h
===================================================================
--- trunk/source/headers/geos/util/GEOSException.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/util/GEOSException.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_UTIL_GEOSEXCEPTION_H
 #define GEOS_UTIL_GEOSEXCEPTION_H
 
+#include <geos/export.h>
 #include <stdexcept>
 #include <string>
 
@@ -30,7 +31,7 @@
  * Exceptions are thrown as pointers to this type.
  * Use toString() to get a readable message.
  */
-class GEOSException: public std::exception {
+class GEOS_DLL GEOSException: public std::exception {
 
 	std::string _msg;
 

Modified: trunk/source/headers/geos/util/GeometricShapeFactory.h
===================================================================
--- trunk/source/headers/geos/util/GeometricShapeFactory.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/util/GeometricShapeFactory.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -22,6 +22,7 @@
 #ifndef GEOS_UTIL_GEOMETRICSHAPEFACTORY_H
 #define GEOS_UTIL_GEOMETRICSHAPEFACTORY_H
 
+#include <geos/export.h>
 #include <cassert>
 
 #include <geos/geom/Coordinate.h>
@@ -58,7 +59,7 @@
  * </pre>
  *
  */
-class GeometricShapeFactory {
+class GEOS_DLL GeometricShapeFactory {
 protected:
 	class Dimensions {
 	public:

Modified: trunk/source/headers/geos/util/IllegalArgumentException.h
===================================================================
--- trunk/source/headers/geos/util/IllegalArgumentException.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/util/IllegalArgumentException.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_UTIL_ILLEGALARGUMENTEXCEPTION_H
 #define GEOS_UTIL_ILLEGALARGUMENTEXCEPTION_H
 
+#include <geos/export.h>
 #include <string>
 
 #include <geos/util/GEOSException.h>
@@ -31,7 +32,7 @@
  * trying to apply set-theoretic methods to a
  * GeometryCollection object.
  */
-class IllegalArgumentException: public GEOSException {
+class GEOS_DLL IllegalArgumentException: public GEOSException {
 public:
 	IllegalArgumentException()
 		:

Modified: trunk/source/headers/geos/util/TopologyException.h
===================================================================
--- trunk/source/headers/geos/util/TopologyException.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/util/TopologyException.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_UTIL_TOPOLOGYEXCEPTION_H
 #define GEOS_UTIL_TOPOLOGYEXCEPTION_H
 
+#include <geos/export.h>
 #include <geos/util/GEOSException.h>
 #include <geos/geom/Coordinate.h> // to be removed when .inl is available
 
@@ -32,7 +33,7 @@
  * Indicates an invalid or inconsistent topological situation encountered
  * during processing
  */
-class TopologyException: public GEOSException {
+class GEOS_DLL TopologyException: public GEOSException {
 public:
 	TopologyException()
 		:

Modified: trunk/source/headers/geos/util/UniqueCoordinateArrayFilter.h
===================================================================
--- trunk/source/headers/geos/util/UniqueCoordinateArrayFilter.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/util/UniqueCoordinateArrayFilter.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,7 @@
 #ifndef GEOS_UTIL_UNIQUECOORDINATEARRAYFILTER_H
 #define GEOS_UTIL_UNIQUECOORDINATEARRAYFILTER_H
 
+#include <geos/export.h>
 #include <cassert>
 #include <set>
 #include <vector>
@@ -34,7 +35,7 @@
  *
  *  Last port: util/UniqueCoordinateArrayFilter.java rev. 1.17
  */
-class UniqueCoordinateArrayFilter: public geom::CoordinateFilter {
+class GEOS_DLL UniqueCoordinateArrayFilter: public geom::CoordinateFilter {
 
 private:
 	geom::Coordinate::ConstVect &pts;	// target set reference

Modified: trunk/source/headers/geos/util/UnsupportedOperationException.h
===================================================================
--- trunk/source/headers/geos/util/UnsupportedOperationException.h	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/headers/geos/util/UnsupportedOperationException.h	2009-06-06 22:22:28 UTC (rev 2556)
@@ -17,6 +17,8 @@
 #ifndef GEOS_UTIL_UNSUPPORTEDOPERATIONEXCEPTION_H
 #define GEOS_UTIL_UNSUPPORTEDOPERATIONEXCEPTION_H
 
+#include <geos/export.h>
+
 #include <string>
 
 #include <geos/util/GEOSException.h>

Modified: trunk/source/index/intervalrtree/SortedPackedIntervalRTree.cpp
===================================================================
--- trunk/source/index/intervalrtree/SortedPackedIntervalRTree.cpp	2009-06-06 22:17:20 UTC (rev 2555)
+++ trunk/source/index/intervalrtree/SortedPackedIntervalRTree.cpp	2009-06-06 22:22:28 UTC (rev 2556)
@@ -99,8 +99,9 @@
 // public:
 //
 SortedPackedIntervalRTree::SortedPackedIntervalRTree()
-:	root( NULL),
+	:
 	leaves( new IntervalRTreeNode::ConstVect()),
+	root( NULL),
 	level( 0)
 { }
 



More information about the geos-commits mailing list