This is the top-level description of the build process.
Building has been tested on Microsoft Windows and in several Linux distributions. On the Widnows platform use
The project is dependent on several third-party open-source projects. Building these projects is described in separate documents: Building the PCRE library, Building the Crypto++ library, Building the Intl library, Building the WX libraries, Building ODBC support and Installing the relaytool. Build these before building the project. The following table shows the dependencies:
Project | Windows | Unix |
Build | Build | |
Build | Build | |
Build or use GNU binaries for Windows | Use from the distribution | |
Build if you need the GUI client | Build if you need the GUI client | |
Built-in | Build or use from the distribution | |
Not used | Download and install |
The project may be built in "debug" or "release" configuration. Both configurations may coexist. In the description of the build process, the selected configuration will be denoted as
The build process starts with unpacking the project into a directory. The directory is later referenced as
The directory structure below
The project consists of a number of subprojects:
Name | Description | Depends on |
Compression library for files larger than 4 GB | - | |
Cryptograpy and authentication utilities | ||
Main client library that communicates with the 602SQL server (dynamic) | ||
Main client library taht communicates with the 602SQL server (static) | ||
ODBC driver (on Windows also contains the setup functions) | ||
ODBC configuration utility for unixODBC (Unix only) | ||
GUI client | ||
SQL server | ||
SQL server as a Windows service | ||
Server manager with GUI |
The following subprojects are described in separate documents:
Name | Description |
PHP module | Module for accessing the database from PHP scripts |
JDBC driver | Driver for accessing the database from Java programs |
SDBC driver | Driver for accessing the database from OpenOffice programs |
The build process is described by multiple property sheets and by several property pages in individual projects. The projects inherit many parameter values from the property sheets. A brief description of paramters can be found here. Usually it is not necessary to modify anything other than some user macros in the "common" property sheet.
All parts of an executable or a dynamic library must use the same type of C runtime libraries (CRT). Because static libraries from the project and from the dependency projects are used in multiple dynamic libraries and executables, it is wise to extent this rule to all compiled objects and to use the same type of CRT in all modules.
The type of CRT is specified by the value of "Runtime Library" option in the "C/C++ Code Generation" property page.
For all subprojects of the project the type of CRT is defined in "common debug" and "common release" property sheets. The default setting is "static". For external projects modify the corresponding property pages or makefiles.
When deciding which type of C runtime library to use, take into consideration the following:
In order to build the project:
Output files are in the
The build process is driven by the autoconf system.
mkdir $(CONF_NAME)
cd $(CONF_NAME)
../configure configure-params
The configure parameters are described here.
make
This produces project binaries in the
make prefix=<path>/ install
This creates the installation tree in the directory defined by the specified prefix. All binaries are relocable: the directory structure may be copied to