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 4. Directory Structure.

DirectoryDescription
prolinga-validate-0.0.2Product version root directory.
prolinga-validate-0.0.2/configConfig build information.
prolinga-validate-0.0.2/docDocumentation.
prolinga-validate-0.0.2/srcAll source and internal header files.
prolinga-validate-0.0.2/testsSelf tests.
prolinga-validate-0.0.2/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/

To link with ProLinga-Repository and build library libprolingavalidate_nonet, type:

./configure --enable-local-repository

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-Validate 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 5. Dependencies

DependencyVersionConfigure Option
libxml2>=2.6.5--with-libxml-prefix=/path/to/libxml2
ProLinga Repository>=0.0.1--with-prolingarepository-prefix=/path/to/prolingarepository
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)