Menu

Tree [3725ba] master /
 History

HTTPS access


File Date Author Commit
 grammar 2023-01-12 Petr Silhavy Petr Silhavy [9eaec1] Fd: new heap RBT
 images 2023-01-03 Petr Silhavy Petr Silhavy [cff187] (C) update etc.
 mm 2023-01-12 Petr Silhavy Petr Silhavy [3725ba] db.table
 subprojects 2023-01-04 Petr Silhavy Petr Silhavy [9db8e0] w/o static member, Database.~this is back
 test 2023-01-12 Petr Silhavy Petr Silhavy [9eaec1] Fd: new heap RBT
 tools 2023-01-12 Petr Silhavy Petr Silhavy [3725ba] db.table
 tree 2023-01-12 Petr Silhavy Petr Silhavy [9eaec1] Fd: new heap RBT
 .gitmodules 2023-01-04 Petr Silhavy Petr Silhavy [9db8e0] w/o static member, Database.~this is back
 CMakeLists.txt 2022-11-16 Petr Silhavy Petr Silhavy [511e38] EOD
 COPYING 2022-12-04 Petr Silhavy Petr Silhavy [3617f9] trb cleanup II. + tools
 README 2022-12-04 Petr Silhavy Petr Silhavy [3617f9] trb cleanup II. + tools
 clang_parser.d 2023-01-05 Petr Silhavy Petr Silhavy [7c35ad] block + test/block
 config.di.in 2023-01-03 Petr Silhavy Petr Silhavy [303ba0] malloc : yet another rewrite
 config.h.in 2022-11-23 Petr Silhavy Petr Silhavy [f578c3] EOD
 dmd.ini 2022-12-23 Petr Silhavy Petr Silhavy [610324] ptr() fixedgit status!
 gdc.ini 2023-01-03 Petr Silhavy Petr Silhavy [cff187] (C) update etc.
 ldc.ini 2022-12-16 Petr Silhavy Petr Silhavy [901d59] ldc2 II.
 libclang.di 2022-11-15 Petr Silhavy Petr Silhavy [ce5ad8] initial
 meson.build 2023-01-12 Petr Silhavy Petr Silhavy [9eaec1] Fd: new heap RBT
 meson_options.txt 2022-11-30 Petr Silhavy Petr Silhavy [a0033f] mm + db from zrec
 parser.d 2023-01-04 Petr Silhavy Petr Silhavy [a2cb45] idx: add fields_by_pos
 perpetual.d 2022-12-16 Petr Silhavy Petr Silhavy [999036] less test/ III.
 zc_ctypes.d 2023-01-12 Petr Silhavy Petr Silhavy [3725ba] db.table
 zc_magic.d 2023-01-12 Petr Silhavy Petr Silhavy [3725ba] db.table
 zc_rand.d 2023-01-12 Petr Silhavy Petr Silhavy [9eaec1] Fd: new heap RBT
 zc_version.di 2022-12-04 Petr Silhavy Petr Silhavy [3617f9] trb cleanup II. + tools

Read Me

Copyright (C) 2002,2003,2004,2013,2014,2015,2016,2017,2020,2021,2022
Petr Silhavy <petr.silhavy@@yandex.com>

See file `COPYING' for license conditions.

This directory tree holds version 0.0.x for
Very Simple Struct Storage System - the database library/engine.
VS4 for short. Formerly also known as (D)Zrec and AVLDB .

The file INSTALL in this directory says how to build and install avldb
on various systems, once you have unpacked or checked out the entire avldb
file tree.

https://sourceforge.net/projects/vs4/

**** Rest of this file is probably outdated. ****

Prerequisites
=============
- POSIX IPC
- zlib http://zlib.net
- GLib 2.0 ftp://ftp.gtk.org/pub/glib  http://download.gnome.org/sources/glib
- ISO C99 compiler ( tested gcc-4.8.1 gcc-4.8.2, gcc-4.9.0, gcc-6.2.0, gcc-6.3.0 and clang 3.4 )
- A "working" POSIX compatible shell, or GNU bash

If you wish to change code, you'll also need:
---------------------------------------------
- git
- flex (2.6.2 or newer). https://github.com/westes/flex/releases
- bison (3.0.4 tested or newer).   https://www.gnu.org/software/bison/   https://ftp.gnu.org/gnu/bison/
- LaTex ( for debugging support - tree visualisation ) https://www.ctan.org


Download
========

Releases may be found at :

https://sourceforge.net/projects/avldb/

AVLDB's git repository can be checked out through anonymous access over
the git or over https protocol. Depending on your network configuration you
may prefer to use one or the other (for instance, if your internet access goes
through a web proxy, it's unlikely that access over http will work).

Checkout over GIT protocol:

git clone git://git.code.sf.net/p/avldb/code avldb-code

Checkout over https:

git clone https://git.code.sf.net/p/avldb/code avldb-code


Configuring and compiling avldb
===============================

Avldb can be build using GNU auto-tools or cmake . 

Avldb can be compiled in the source directory but this option is deprecated.
The preferred way is build it in a separate build directory.  For example,
if you have unpacked/checkout avldb directory tree to '/usr/src/avldb',
create a directory `/usr/src/avldb-build' to put the object files in.  This
allows removing the whole build directory in case an error occurs,
which is the safest way to get a fresh start and should always be done.

Building with autoconf/automake (deprecated - See "Building with cmake" )
=========================================================================

0. Create configure script (if necessary)

If your check-out of GIT repository or extracted tar-ball doesn't
contain `configure' script run from your object directory
autoreconf ../PATH-TO-UNPACKED-SOURCES e.g. 

	$ cd /usr/src/avldb-build
	$ autoreconf ../avldb -i

1. Configuration

From your object directory, run the shell script `configure' located
at the top level of the source tree.  In the scenario above, you'd type

	$ ../avldb/configure ARGS...

   If you want to install avldb library to /usr/lib and includes to 
/usr/include specify installation prefix with :

 	$ ../avldb/configure --prefix=/usr

   Please note that even though you're building in a separate build
directory, the compilation may need to create or modify files and
directories in the source directory.


  It may also be useful to set the CC and CFLAGS variables in the
environment when running `configure'.  CC selects the C compiler that
will be used, and CFLAGS sets optimization options for the compiler.

   The following list describes all of the available options for
`configure':

`--prefix=DIRECTORY'
     Install machine-independent data files in sub-directories of
     `DIRECTORY'.  The default is to install in `/usr/local'.

`--exec-prefix=DIRECTORY'
     Install the library and other machine-dependent files in
     sub-directories of `DIRECTORY'.  The default is to the `--prefix'
     directory if that option is specified, or `/usr/local' otherwise.

`--disable-shared'
     Don't build shared libraries even if it is possible.  Not all
     systems support shared libraries; you need ELF support and
     (currently) the GNU linker.

2. Compilation

To build the library and related programs, type `make'.  This will
produce a lot of output, some of which may look like errors from `make'
but isn't.  Look for error messages from `make' containing `***'.
Those indicate that something is seriously wrong.

   If you want to run a parallel make, simply pass the `-j' option with
an appropriate numeric parameter to `make'.  You need a recent GNU
`make' version, though.

  Basic test programs (located in tests sub-directory) are build as default. 
See chapter `Running tests' for more informations.

3. Installation

 To install the library and its header files, and the Info files of the
manual, type `sudo make install' or run `make install' as root.



Building with cmake
===================

0. Configuration

From your object directory, run `cmake ../PATH-TO-UNPACKED-SOURCES'

 $ cmake ../avldb

Probably you want to specify an install prefix:

 $ cmake ../avldb -DCMAKE_INSTALL_PREFIX=<prefix>

Where <prefix> can be /usr, /usr/local, /opt, etc. The default is /opt/ps .

Note the install prefix is automatically searched for required libraries
and header files, so if you install librt, libz and glib2 to the
same prefix most configuration options are unnecessary ( or if header files
and libraries can be found in standart system paths e.g. `/usr/include` and
`/usr/lib*` on Unix-like system ) .

1. List of recognized cmake variables (cmake -DOption)

   Options
   -------
   
 CMAKE_INSTALL_PREFIX - install prefix - default "/opt/ps"
 AVLDB_SHARED  - build shared libraries - default ON
 AVLDB_STATIC - build static libraries - default ON)
 AVLDB_TESTS - build avldb tests - default ON
 AVLDB_HUGE_INTERVAL_BLOCK - use inflatable interval tree" - default OFF

Alternatively you can set/change cmake by :

 $ ccmake  ../avldb 

2. Compilation

To build the library and related programs, type `make'.  This will
produce a lot of output, some of which may look like errors from `make'
but isn't.  Look for error messages from `make' containing `***'.
Those indicate that something is seriously wrong.

   If you want to run a parallel make, simply pass the `-j' option with
an appropriate numeric parameter to `make'.  You need a recent GNU
`make' version, though.

  Basic test programs (located in tests subdirectory) are build as default.
See chapter `Running tests' for more informations.

3. Instalation

 To install the library and its header files, and the Info files of the
manual, type `sudo make install' or run `make install' as root.