If a shared library is created with the
$SHLIBVERSION
variable set,
scons will create symbolic links as needed based on that
variable. To properly install such a library including the
symbolic links, use the InstallVersionedLib
function.
For example, on a Linux system, this instruction:
foo = env.SharedLibrary(target="foo", source="foo.c", SHLIBVERSION="1.2.3")
Will produce a shared library
libfoo.so.1.2.3
and symbolic links
libfoo.so
and
libfoo.so.1
which point to
libfoo.so.1.2.3
.
You can use the Node returned by the SharedLibrary
builder in order to install the library and its
symbolic links in one go without having to list
them individually:
env.InstallVersionedLib(target="lib", source=foo)
On systems which expect a shared library to be installed both with
a name that indicates the version, for run-time resolution,
and as a plain name, for link-time resolution, the
InstallVersionedLib
function can be used. Symbolic links
appropriate to the type of system will be generated based on
symlinks of the source library.