BUILDING, TESTING, INSTALLING
=============================

Unix
----

Using Autotools:
  ./autogen.sh  # in ${srcdir}, if obtained from SVN
  ${srcdir}/configure # in build dir

Using CMake:
  cmake ${srcdir} # in build dir

Now, all versions:
  make
  make check
  make install # as root
  ldconfig # as root

Win32
-----

If you use Microsoft Visual C++ (7.1 or later) compiler, you can build 
GEOS using NMAKE program and provided makefile.vc files.

If you are building from SVN checkout, first run: autogen.bat
Then:

  nmake /f makefile.vc MSVC_VER=1400

where 1400 is version number of Visual C++ compiler, here Visual C++ 8.0 
from Visual Studio 2005 (supported versions are 1300, 1310, 1400 and 1500). 
The bootstrap.bat step is required to generate a couple of header files.

In order to build debug configuration of GEOS, additional flag DEBUG=1 
is required:

  nmake /f makefile.vc MSVC_VER=1400 DEBUG=1


CLIENT APPLICATIONS
===================

Using the C interface (recommended)
-----------------------------------

To compile programs against the C lib (recommended):

  CFLAGS += `geos-config --cflags`
  LDFLAGS += `geos-config --ldflags` -lgeos_c
  #include <geos_c.h>

Example usage:

  capi/geostest.c contains basic usage examples.

Using the C++ interface (discouraged)
-------------------------------------

NB: The C++ interface should not be used directly; the geos project
views it as a bug for another program to use the C++ interface or even
to directly link against the C++ library.  The C++ library name will
change on every minor release because it is too hard to know if there
have been ABI changes.  (The C libary uses the C++ interface, but the
C library follows normal ABI-change-sensitive versioning, so programs
that link only against the C library should work without relinking
when geos is upgraded.)

To compile programs against the C++ lib:

  CFLAGS += `geos-config --cflags`
  LDFLAGS += `geos-config --ldflags` -lgeos
  #include <geos.h>

Example usage:

  doc/example.cpp contains basic usage examples.

Scripting language bindings
---------------------------

Ruby bindings are fully supported. To build, use the --enable-ruby option
when configuring:

  ./configure ... --enable-ruby

PHP bindings are fully supported. To build, use the --enable-php option
when configuring:

  ./configure ... --enable-php
    
Since version 3.0, the Python bindings are unsupported. Recommended options:

 1. Become or recruit a new maintainer.
 2. Use Shapely (http://pypi.python.org/pypi/Shapely) with Python
    versions 2.4 or greater.
 3. Simply call functions from libgeos_c via Python ctypes.

DOCUMENTATION
=============

  cd doc; make doxygen-html

  http://trac.osgeo.org/geos

