Home | Back
  --------------------- libspatialite ------------------------

PLEASE read the following information.

1 - Installation
2 - Required dependencies
3 - Build notes
  3.1: Building on Linux
  3.2: Building on Mac OS X
  3.3: Building on Windows
    3.3.1: using MinGW / MSYS
    3.3.2: using Visual Studio .NET
  
=====================================================================

1. Installation:
=================

The default destination path prefix for installed files is /usr/local.
Results from the installation script will be placed into subdirectories
include and lib.  If this default path prefix is appropriate, then execute:

    ./configure

If another path prefix is required, then execute:

    ./configure --prefix=/my/path

In either case, the directory of the prefix path must exist and be
writable by the installer.

After executing configure, execute:

    make
    make install

Or even better, you can *strip* any executable binary, in order
to eliminate any debugging symbol, and thus widely reducing
their size:

    make install-strip

2. Required dependencies:
=========================
    
The main external dependencies needed in order to build 'libspatialite'
are:
- SQLite 3 (http://www.sqlite.org)
    This is a hard dependency - you can't build libspatialite without it. SQLite
    version 3.7.3 or later is strongly preferred - if you have an earlier
    version then you will need to pass --enable-geocallbacks=no to the
    ./configure script.
    
- PROJ.4 (http://trac.osgeo.org/proj/)
    This is strongly recommended, unless you have a particular purpose in mind
    for your libspatialite build, and know that you won't need it. It is usually
    available as a package, and libspatialite is pretty flexible about versions.

- GEOS (http://trac.osgeo.org/geos/)
    This is strongly recommended, unless you have a particular purpose in mind
    for your libspatialite build, and know that you won't need it. It is usually
    available as a package, but libspatialite will have more capability if you
    use version 3.3.0 or later so make sure that the package is recent enough.
    Use --enable-geosadvanced=no argument to the ./configure script if you want
    to use an earlier version of GEOS.

- FreeXL (http://www.gaia-gis.it/FreeXL/)
    This is recommended if you want to be able to import data from Microsoft
    Excel format (.xls suffix) files. If you do not wish to use it, you will
    need to pass --enable-freexl=no to the ./configure script. Version 0.0.4
    or later is required.

Note that you need development code (e.g. -dev packages on Debian Linux and
derivatives such as Ubuntu, or -devel packages on most other Linux
distributions).


ICONV [Windows]
---------------
When building on Windows, then you also need to provide iconv to ensure that
appropriate character set conversions are available. This dependency is not
usually an issue when building on Linux or Mac OS X, because these systems
provide iconv as a standard component.

For Windows the preferred solution is to download and install the pre-built
iconv binaries and related files from:
http://gnuwin32.sourceforge.net/packages/libiconv.htm

3 - Build notes
===============

3.1: Building on Linux and similar systems
------------------------------------------

Building libspatialite on Linux and similar systems such as BSD or other Unix
variants does not require any special settings. If you have unpacked the sources
as ./libspatialite-3.0.0, then the required steps are:

# cd libspatialite-3.0.0
# ./configure
# make
# sudo make install
#     or (in order to save some disk space)
# sudo make install-strip

3.2: Building on Mac OS X
-------------------------

Building 'libspatialite' on Mac OS X very similar to Linux. You simply have to
set explicitly some environment variables. If you have unpacked the sources as
./libspatialite-3.0.0, then the required steps are:

# cd libspatialite-3.0.0
# export "CFLAGS=-I/opt/local/include"
# export "LDFLAGS=-I/opt/local/lib"
# ./configure
# make
# sudo make install
#     or (in order to save some disk space)
# sudo make install-strip

IMPORTANT NOTICE: this will build an executable for your specific platform.
That is, when building on a PPC Mac, the resulting binary will be be for PPC.
Similarly, when building on Intel Mac, resulting binary will be for  Intel.

3.3: Building on Windows
------------------------

On Windows systems you can choose using two different compilers:
- MinGW / MSYS
  This represents a smart porting of a minimalistic Linux-like
  development toolkit
- Microsoft Visual Studio .NET
  This is the standard platform development toolkit from Microsoft.

3.3.1: using MinGW / MSYS
-------------------------

We assume that you have already installed the MinGW compiler and the MSYS shell.
Building 'libspatialite' under Windows is then more or less like building
on any other UNIX-like system. If you have unpacked the sources as
C:\libspatialite-3.0.0, then the required steps are:

$ cd c:/libspatialite-3.0.0
$ export "CFLAGS=-I/usr/local/include"
$ export "LDFLAGS=-L/usr/local/lib"
$ ./configure --target=mingw32
$ make
$ make install-strip
$     or (in order to save some disk space)
$ make install-strip


3.3.2: using Microsoft Visual Studio .NET
-----------------------------------------

We assume that you have already installed Visual Studio enabling the command
line tools. Note that you are expected to the Visual Studio command prompt shell
rather than the GUI build environment. If you have unpacked the sources as
C:\libspatialite-3.0.0, then the required steps are:

> cd c:\libspatialite-3.0.0
> nmake /f makefile.vc
> nmake /f makefile.vc install

Please note: standard definitions in 'makefile.vc' assumes:
- enabling PROJ
- disabling GEOS

If you want to alter the default behaviour then make modifications in
'makefile.vc'. Also note that 'libspatialite-geos.def' contains those external
symbols to be exported from the DLL when you build GEOS.