Using Virtuoso Open Source Edition CVS Tree
===========================================

Copyright (C) 1998-2010 by OpenLink Software <vos.admin@openlinksw.com>


Introduction
============

This document describes how to checkout a copy of the CVS tree for
development purposes. It also lists the packages that need to be
installed prior to generating the necessary scripts and Makefiles to
build the project.

CVS access is only needed for developers who want to actively track
progress of the Virtuoso source code and contribute bugfixes or
enhancements to the project. It requires basic knowledge about the
general layout of open source and GNU projects, the use of autoconf and
automake etc, which is beyond the scope of this document. If you have
any questions, please email us at .


CVS Archive Server Access
=========================

OpenLink currently provides read-only CVS Archive access through the
SourceForge.net servers:

    $ cvs -d:pserver:anonymous@virtuoso.cvs.sourceforge.net:/cvsroot/virtuoso login
    (The password is blank)
    $ cvs -z3 -d:pserver:anonymous@virtuoso.cvs.sourceforge.net:/cvsroot/virtuoso co virtuoso-opensource


Package Dependencies
====================

To generate the configure script and all other build files necessary,
please make sure the following packages and recommended versions are
installed on your system.

    Package   Version  From
    autoconf  2.57     http://www.gnu.org/software/autoconf/
    automake  1.9      http://www.gnu.org/software/automake/
    libtool   1.5      http://www.gnu.org/software/libtool/
    flex      2.5.33   http://flex.sourceforge.net/
    bison     2.3      http://www.gnu.org/software/bison/
    gperf     2.7.2    http://www.gnu.org/software/gperf/
    gawk      3.1.1    http://www.gnu.org/software/gawk/
    m4        1.4.1    http://www.gnu.org/software/m4/
    make      3.79.1   http://www.gnu.org/software/make/
    OpenSSL   0.9.7    http://www.openssl.org/

and any GNU packages required by these. The autogen.sh and configure
scripts check for the presence and right version of some of the required
components.

The above version are the minimum recommended versions of these
packages. Older version of these packages can sometimes be used, but
could cause build problems.

To check the version number of the tools installed on your system,
use one of the following commands:

  * autoconf --version
  * automake --version
  * libtoolize --version
  * flex --version
  * bison --version
  * gperf --version
  * gawk --version
  * m4 --version
  * make --version
  * openssl version

If you have an older version than automake version 1.9 you can edit
the configure.in script around line 47 using the examples provided for
each version.


Diskspace Requirements
======================

The build produces a demo database and Virtuoso application packages
that are quite large. At least 800 MB of free space should be available
in the build file system.

When running `make install', the target file system should have about 460
MB free. By default, the install target directories are under /usr/local/,
but you can specify

    ./configure --prefix=/path/to/dir

instead.

The minimum working configuration consists of the server executable
and config files plus database, no more than a few MB for the server
executable, depending on platform and options.


Generate build files
====================

To generate the configure script and all related build files, use use
the supplied script in your CVS checkout directory:

    $ ./autogen.sh

If the above command succeed without any error messages, please use the
following command to check out all the options you can use:

    $ ./configure --help

Certain build targets are only enabled when the --enable-maintainer-mode
flag is added to configure.

Please read the files INSTALL and README in this directory for further
information on how to configure the package and install it on your system.


Submitting fixes and enhancements
=================================

Patches and new contributions can be submitted as diffs from the current
CVS archive by:

    $ cvs add newfiles $ cvs -z3 diff -uN > diffs

Patches and contributions can be send to the OpenLink Virtuoso source
archive manager at <vos.admin@openlinksw.com> to be included the next
distribution.  Please provide accompanying documentation on which bugs
are fixed or new features are introduced.

