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.