From 976a3d27a47bf69eb886a92be06a09d7face2f55 Mon Sep 17 00:00:00 2001 From: William Deegan Date: Mon, 23 Mar 2015 16:54:17 -0700 Subject: initial pass at improving documentation of versioned shared library logic --- src/engine/SCons/Tool/__init__.xml | 5 +++++ src/engine/SCons/Tool/install.xml | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/engine/SCons/Tool/__init__.xml b/src/engine/SCons/Tool/__init__.xml index dd06f12..ee56fc3 100644 --- a/src/engine/SCons/Tool/__init__.xml +++ b/src/engine/SCons/Tool/__init__.xml @@ -205,6 +205,11 @@ and Y are numbers, and Z is a number but can also contain letters to designate alpha, beta, or release candidate patch levels. + +env.SharedLibrary(target = 'bar', source = ['bar.c', 'foo.o'], SHLIBVERSION='1.5.2') + + + This builder may create multiple links to the library. On a POSIX system, for the shared library libbar.so.2.3.1, the links created would be diff --git a/src/engine/SCons/Tool/install.xml b/src/engine/SCons/Tool/install.xml index 0a0ad71..da82c6e 100644 --- a/src/engine/SCons/Tool/install.xml +++ b/src/engine/SCons/Tool/install.xml @@ -68,6 +68,14 @@ and source arguments list different numbers of files or directories. + + +env.InstallAs(target = '/usr/local/bin/foo', + source = 'foo_debug') +env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'], + source = ['libFOO.a', 'libBAR.a']) + + @@ -77,14 +85,17 @@ arguments list different numbers of files or directories. Installs a versioned shared library. The &cv-link-SHLIBVERSION; construction variable should be defined in the environment to confirm the version number in the library name. +If &cv-link-SHLIBVERSION is not defined a warning will be issued +and the name of the library will be parsed to derive the version. The symlinks appropriate to the architecture will be generated. -env.InstallAs(target = '/usr/local/bin/foo', - source = 'foo_debug') -env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'], - source = ['libFOO.a', 'libBAR.a']) +env.InstallVersionedLib(target = '/usr/local/bin/foo', + source = 'libxyz.1.5.2.so') +env.InstallVersionedLib(target = '/usr/local/bin/foo', + source = 'libxyz.1.5.2.so', + SHLIBVERSION='1.5.2') -- cgit v0.12