## Installing from the sources

If you downloaded the source code (in a tarball), you must compile the software. To do so, once you have unpacked the source tree, you must:

    $ ./configure
    $ make
    $ make install

This will generate the makefiles for your specific platform, compile all the source tree, and install the binaries and documentation in your system. This method works in the following environments:

- On Linux (or other Unix systems, including MacOSX)

- On linux using the MinGW compiler in a cross compilation environment to generate Windows binaries

- On Windows using the MinGW compiler

If you don't find a file named `configure`, usually because you use non packaged sources which come from a Git repository, then execute the `autogen.sh` script which will create and run the generated `configure` file (please not that for this script to work, you'll need to have the autotools components installed on your system).

You can specify several arguments to `configure` (or `autogen.sh`). You can check all the available arguments by running configure --help, but the most significant ones are:

- `--prefix=<directory>`: Prefix where package will be installed

- `--enable-gtk-doc`: Specify that the library's documentation must be built (using the gtk-doc program)

- `--enable-warnings`: Specify compilation warnings, to choose from: min, max, fatal or no.

- `--with-<provider name>=[yes/no/<directory>]`: Specify, for each supported database type (bdb, mysql, postgres, oracle, java, mdb) if the corresponding provider is resquired ("yes"), should not be built ("no"), or can be built if its development files can be detected by the configure script (you can specify a directory to look into if these files are installed in a non standard location, for example `--with-oracle=/local/BASES/OCI32`).

- `--enable-system-sqlite`: Specify that the SQLite installed with the system must be used instead of the embedded version.

- `--with-ui`: Require that the UI extension (using GTK+) be built. This also enables building the graphical tools such as the control center and GdaBrowser.

Libraries needed by providers are searched by default, so, if found, providers are compiled by default. Those libraries are searched in hard-coded directories, so if the installation of these libraries is in an uncommon place, the above arguments should be used to specify the directories where the libraries and header files are installed. Note that the SQLite provider is now always built using the sources of the SQLite library that are bundled within Libgda's sources.

If you find any problem during the configuration, compilation or installation process, do not hesitate in contacting the GNOME-DB mailing list (`<gnome-db-list@gnome.org>`, first send an email to `<gnome-db-list-request@gnome.org>` with the subject SUBSCRIBE, if you are not already subscribed).