summaryrefslogtreecommitdiff
path: root/scons
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-11-02 14:20:12 +0000
committerJosé Fonseca <jfonseca@vmware.com>2010-11-02 14:20:12 +0000
commit265b53983e5100420847d3d2c086409fc9ca8e17 (patch)
tree54eb118da83c591cec2330ceb4e236ed5848d7dd /scons
parent45f4b85d58ad94222e13f521b115e44dc7dd7d6d (diff)
scons: Propagate installation targets.
Fixes libgl-xlib target.
Diffstat (limited to 'scons')
-rw-r--r--scons/gallium.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/scons/gallium.py b/scons/gallium.py
index 194b1524e6c..3c0ff905389 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -50,29 +50,34 @@ def symlink(target, source, env):
def install(env, source, subdir):
target_dir = os.path.join(env.Dir('#.').srcnode().abspath, env['build_dir'], subdir)
- env.Install(target_dir, source)
+ return env.Install(target_dir, source)
def install_program(env, source):
- install(env, source, 'bin')
+ return install(env, source, 'bin')
def install_shared_library(env, sources, version = ()):
+ targets = []
install_dir = os.path.join(env.Dir('#.').srcnode().abspath, env['build_dir'])
version = tuple(map(str, version))
if env['SHLIBSUFFIX'] == '.dll':
dlls = env.FindIxes(sources, 'SHLIBPREFIX', 'SHLIBSUFFIX')
- install(env, dlls, 'bin')
+ targets += install(env, dlls, 'bin')
libs = env.FindIxes(sources, 'LIBPREFIX', 'LIBSUFFIX')
- install(env, libs, 'lib')
+ targets += install(env, libs, 'lib')
else:
for source in sources:
target_dir = os.path.join(install_dir, 'lib')
target_name = '.'.join((str(source),) + version)
last = env.InstallAs(os.path.join(target_dir, target_name), source)
+ targets += last
while len(version):
version = version[:-1]
target_name = '.'.join((str(source),) + version)
action = SCons.Action.Action(symlink, "$TARGET -> $SOURCE")
last = env.Command(os.path.join(target_dir, target_name), last, action)
+ targets += last
+ return targets
+
def createInstallMethods(env):
env.AddMethod(install_program, 'InstallProgram')