LIBRARY-SPECS(7) OpenBSD Reference Manual LIBRARY-SPECS(7)
library-specs - shared library name specifications
Each LIB_DEPENDS item in the port tree conforms to
where `lib_specs' is a comma-separated list of `lib_spec' of the form:
All libraries that a port needs must be mentioned in that list, either
directly or indirectly through recursive dependencies (except, of course,
for system libraries).
The package system will embed correct dependency checks in the built
package, according to the normal shared library semantics: any library
with the same major number, and a greater or equal minor number will do.
Therefore, porters must strive to respect correct shared library seman-
tics in their own ports: by bumping the minor number each time the inter-
face is augmented, and by bumping the major number each time the inter-
face changes. Note that adding functions to a library is an interface
augmentation. Removing functions is an interface change.
The major.minor components of the library specification are used only as
a build-time check. Any library which is more recent than the given ma-
jor.minor version will do. If the minor component is left empty, any mi-
nor will do. If both components are left empty, any version will do. If
a specific major number is needed, use the form `libname.=major[.minor]'.
The `pkgspec' part is always checked, both at build-time, and at
pkg_add(1) time. If `pkgspec' is left empty, any package will do: in ef-
fect, the pkgspec used is `stem-*'.
If a given architecture does not support shared libraries, all
LIB_DEPENDS will be turned into simple BUILD_DEPENDS checks. Failure to
mention RUN_DEPENDS if the port needs anything beyond libraries from the
dependent port will lead to strange errors.
pkg_add(1), bsd.port.mk(5), packages(7), packages-specs(7), ports(7)
Full support for library specifications first appeared in OpenBSD 3.1.
OpenBSD 3.6 April 9, 2001 1