summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool/install.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Tool/install.py')
-rw-r--r--src/engine/SCons/Tool/install.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/engine/SCons/Tool/install.py b/src/engine/SCons/Tool/install.py
index c5c2adb..9d5db9f 100644
--- a/src/engine/SCons/Tool/install.py
+++ b/src/engine/SCons/Tool/install.py
@@ -147,18 +147,19 @@ def copyFuncVersionedLib(dest, source, env):
return 0
def listShlibLinksToInstall(dest, source, env):
- install_links = {}
- install_dir = os.path.dirname(str(dest))
+ install_links = []
source = env.arg2nodes(source)
+ dest = env.fs.File(dest)
+ install_dir = dest.get_dir()
for src in source:
- links = getattr(getattr(src,'attributes',None), 'shliblinks', None)
- if SCons.Util.is_Dict(links):
- for linkname, linktgt in links.iteritems():
- linkname_base = os.path.basename(str(linkname))
- linktgt_base = os.path.basename(str(linktgt))
- install_linkname = os.path.join(install_dir, linkname_base)
- install_linktgt = os.path.join(install_dir, linktgt_base)
- install_links[install_linkname] = install_linktgt
+ symlinks = getattr(getattr(src,'attributes',None), 'shliblinks', None)
+ if symlinks:
+ for link, linktgt in symlinks:
+ link_base = os.path.basename(link.get_path())
+ linktgt_base = os.path.basename(linktgt.get_path())
+ install_link = env.fs.File(link_base, install_dir)
+ install_linktgt = env.fs.File(linktgt_base, install_dir)
+ install_links.append((install_link, install_linktgt))
return install_links
def installShlibLinks(dest, source, env):
@@ -167,7 +168,7 @@ def installShlibLinks(dest, source, env):
symlinks = listShlibLinksToInstall(dest, source, env)
if Verbose:
- print 'installShlibLinks: symlinks=%r' % symlinks
+ print 'installShlibLinks: symlinks=%r' % SCons.Tool.StringizeLibSymlinks(symlinks)
if symlinks:
SCons.Tool.CreateLibSymlinks(env, symlinks)
return