.. _kernel-installation:

Installation
============

.. contents:: Table of Contents
    :depth: 4
    :backlinks: top

This page provides documentation on how to compile then install ZOO-Kernel on Unix and Win32 platforms.

Unix
----

For Unix users, ZOO-Kernel comes with a GNU autoconf "configure" script that should take care of (hopefully!) 
all compilation issues for you.

The configure script won't work on Windows. See section WIN32 for details on compiling on Windows systems.

For the impatient
*****************

To build zoo_loader.cgi CGI program with the default options, go to the default options, go to the directory 
where you extracted the ZOO-Kernel source code package and use the following command:

::

  $ cd zoo-kernel
  $ ./configure
  $ make

Unless something went wrong, you should have executables in the current directory for the zoo_loader.cgi 
CGI program. You can copy the zoo_loader.cgi program and the main.cfg file to your HTTP server's CGI 
directory and start using it.

At this step your ZOO-Kernel should work. Nevertheless, don't forget to correct the main.cfg settings 
to set tmpPath and tmpUrl to fit your web server configuration.

Configure Options
*****************

Here is the list of available options as returned by *./configure --help*:

::

  --with-gdal-config=FILE specify an alternative gdal-config file
  --with-xml2config=FILE  specify an alternative xml2-config file
  --with-python=PATH      To enabled python support or specify an alternative
                          directory for python installation, disabled by
                          default
  --with-php=PATH         To enabled php support or specify an alternative
                          directory for php installation, disabled by default
  --with-perl=PATH        To enabled perl support or specify an alternative
                          directory for perl installation, disabled by default
  --with-java=PATH        To enabled java support, specify a JDK_HOME,
                          disabled by default
  --with-js=PATH          specify --with-js=path-to-js to enabled js support,
                          specify --with-js on linux debian like, js support
                          is disabled by default

All the options are described in more details below.

(Required) GDAL Support
^^^^^^^^^^^^^^^^^^^^^^^

If your gdal-config program is not found in your PATH then you can use the 
"*--with-gdal-config*" option to speficy its location. For instance, let suppose that your gdal-config 
was installed in /usr/local/bin and this directory is not in your PATH, then you can use 
the following command:

::

  $ ./configure --with-gdal-config=/usr/local/bin/gdal-config

(Required) XML2 Support
^^^^^^^^^^^^^^^^^^^^^^^

If your xml2-config program is not found in your PATH then you can use the 
"*--with-xml2config*" option to specify its location. For instance, let suppose that 
your xml2-config was installed in /usr/local/bin end this directory is not in you PATH, 
then you can use the following command:

::

  $ ./configure --with-xml2config=/usr/local/bin/xml2-config

(Optional) Python Support
^^^^^^^^^^^^^^^^^^^^^^^^^

If you want to activate the Python Support for ZOO-Kernel then you will have to use the 
"*--with-python*" option. If your python-config program is found in your PATH then you 
don't have to specify the path where Python was installed, so using the following command:

::

  $ ./configure --with-python

This suppose that python-config is found in your PATH.

In case your python-config is not found in your PATH, then you can set the Python installation 
directory you are using. For instance, let suppose that you installed Python in /usr/local, 
then you can use the following command:

::

  $ ./configure --with-python=/usr/local

This suppose that /usr/local/bin/python-config exists.

(Optional) PHP Support
^^^^^^^^^^^^^^^^^^^^^^

To be able to activate PHP Support for ZOO-Kernel you'll need to get a local PHP Embedded 
installation, for more informations about configure options to use to get such kind of PHP 
installation you can refer to this page :

     http://zoo-project.org/trac/wiki/ZooKernel/Embed/PHP

If you want to activate the PHP Support for ZOO-Kernel then you will have to use the 
"*--with-php*" option. If your php-config program is found in your PATH then you don't have 
to specify the path where PHP was installed, so using the following commnd:

::

  $ ./configure --with-php

This suppose that php-config is found in your PATH.

In case your php-config is not found in your PATH, then you can set the PHP installation 
directory you are using. For instance, let suppose that you installed PHP in /usr/local, 
then you can use the following command:

::

  $ ./configure --with-php=/usr/local

This suppose that /usr/local/bin/php-config exists.

(Optional) Perl Support
^^^^^^^^^^^^^^^^^^^^^^^

If you want to activate the Perl Support for ZOO-Kernel then you will have to use the 
"*--with-perl*" option. If you do not set any value to this option, then perl program will 
be searched in your PATH. So in such case, you can use the following command:

::

  $ ./configure --with-perl 

This suppose that perl is found in your PATH.

In other case, for custom Perl installation, you can set the installation directory. For instance, 
let suppose that you installed Perl in /usr/local and /usr/local/bin is not in your PATH, 
then you can use the following command:

::

  $ ./configure --with-perl=/usr/local

This suppose that /usr/local/bin/perl exists.

(Optional) Java Support
^^^^^^^^^^^^^^^^^^^^^^^

If you want to activate the Java Support for ZOO-Kernel then you will have to use the 
"*--with-java*" option and set the installation path of your Java SDK. For instance, 
let suppose that your Java SDK was installed in /usr/lib/jvm/java-6-sun-1.6.0.22/ directory, 
then you can use the following command:

::

  $ ./configure --with-java=/usr/lib/jvm/java-6-sun-1.6.0.22/

This suppose that the include/linux and jre/lib/i386/client/ subdirectories exist in 
/usr/lib/jvm/java-6-sun-1.6.0.22/, include/linux contains the jni.h headers file and 
jre/lib/i386/client/ contains the libjvm.so file.

Note that on MacOS X you only have to set macos as value for the "*--with-java*" option 
to get the Java Support for ZOO-Kernel activated. So using the following command:

::

  $ ./configure --with-java=macos

(Optional) JavaScript Support
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

If you want to activate the JavaScript Support for ZOO-Kernel then you will have to use 
the "*--with-js*" option. If you are using a "Debian-like" GNU/Linux distribution then 
dpkg will be used to detect if the required packages was installed and you don't have to 
specify anything here, so you can use the following command:

::

  $ ./configure --with-js 

This suppose that js_api.h and libmozjs.so are found in default directories.

If you get a custom installation of SpiderMonkey or you are not using a Debian packaging 
system, then you'll have to specify the directory where you installed it. For 
instance, let suppose that you installed your SpiderMonkey in /usr, then you'll 
have to use the following command:

::

  $ ./configure --with-js=/usr

This suppose that the /usr/include/js exists and contains the js_api.h headers file and 
/usr/lib contains libmozjs.so file.

WIN32
-----

To be written soon ...


