Build Instructions

Extracting archive

The product archive can be extracted to any desired directory using unzip (.zip file extension) or gunzip (.gz file extension)/ bunzip2 (.bz2 file extension) and tar. After extracting, the following directories will be created:

Table 2. Directory Structure.

DirectoryDescription
prolinga-repository-0.0.3Product version root directory.
prolinga-repository-0.0.3/configConfig build information.
prolinga-repository-0.0.3/docDocumentation.
prolinga-repository-0.0.3/srcAll source and internal header files.
prolinga-repository-0.0.3/testsSelf tests.
prolinga-repository-0.0.3/prolingaExternal (API) header files.

Compiling and Linking

To build the product go to the product root directory and run the configure script. For default installation in /usr/local type:

./configure

To install into another directory type:

./configure --prefix=/any/dirname/

For all other configure options, type:

./configure --help

After running the configure script, the product can be build with:

make

To run the optional self-test type:

make check

After compilation, the binaries, libraries and header files can be installed with:

make install

You may need root access for this last option.

By default, HTML documentation pages are available in the doc/html directory. These pages are generated from DocBook XML file format files in /doc. To re-generate the HTML pages from these files type:

make html

The command line XSLT processor xsltproc must be available from $PATH to be able to generate the HTML documentation.

Dependencies

Many of the ProLinga-Projects are dependent on 3rd party libraries. These (non system) dependencies of ProLinga-Repository are outlined below. If these 3rd party products are not installed in either /usr/bin, /usr/lib, /usr/include or /usr/local/bin, /usr/local/lib, /usr/local/include, the additional configure option needs to be provided when building.

Table 3. Dependencies

DependencyVersionConfigure Option
Berkeley DB>=4.8.26--with-berkeleydb-prefix=/path/to/berkeleydb
Berkeley DBXML>=2.5.16--with-berkeleydbxml-prefix=/path/to/berkeleydbxml
XQilla>=2.2.3--with-xqilla-prefix=/path/to/xqilla
Xerces>=2.7.0--with-xerces-prefix=/path/to/xerces
libxml2>=2.6.5--with-libxml-prefix=/path/to/libxml2
ProLinga-Soap>=0.0.1--with-prolingasoap-prefix=/path/to/prolingasoap

Choosing the right type of build

The default configuration options provide libraries which can be used both to develop/debug as to run the product. However better builds are possible for a dedicated development or production environment.

In production environments, builds are needed which contain minimal (debug) overhead, so they are fast and small. To build such binaries/libraries, the --enable-final options can be used. Example:

./configure --enable-final

The enable-final flag is configured to be used with GCC environments only. If access to more compilers become available over time, the enable-flag will be ported to those compilers as well.

In development environments, builds are needed producing warnings, enabling maximum debugging info etc. Several options are available here.

  • --enable-warnings : Set all compiler warning flags

  • --enable-debug : Enable all debug messages

  • --enable-gprof : Enables profiling with gprof (GCC only)