11.4. Installing a Shared Library
Prev | Chapter 11. Installing Files in Other Directories: the `Install` Builder | Next

## 11.4. Installing a Shared Library

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.

Prev | Up | Next
11.3. Installing Multiple Files Under Different Names | Home | Chapter 12. Platform-Independent File System Manipulation