Database Independent Abstraction Layer for C: libdbi Programmer's Guide
Prev | Chapter 6. Library and Interface Versions | Next

# 6.1. Package and library versions

libdbi utilizes libtool to manage the library in a platform-independent fashion. libtool uses an abstract library versioning scheme which consists of three numbers:

current

  This is the number of the current interface. The first "incarnation" is usually 0 (zero), the next version that adds or subtracts something from this interface would be 1 (think of new API functions or functions with altered parameter lists).

revision

  This number counts the released changes of the interface which do not alter the interface (think of internal optimizations, bugfixes and so on)

age

  This is the number of previous interfaces that the current version is backwards-compatible with. That is, if `current` is "n", programs linked against "n", "n-1", and "n-2" will run with the current version.

The package version number (major.minor.patch) is computed from the above numbers using the formulas:

- major = current - age

- minor = age + 8

- patch = revision

The correction applied to `minor` is currently required to bring the package version in line with earlier releases which did not use proper libtool interface versioning. It will be dropped if `major` rises above zero.

Prev | Home | Next
Library and Interface Versions | Up | libdbi and libdbi-drivers versions